2011-12-09 19 views
6

Olası Çoğalt:
How can I change strings of “Cancel” button, “No Results” label in UISearchBar of UISearchDisplayController?UISearchDisplayController "Hayır Sonuçlar" metin

Benim UISearchDisplayController olarak

ben searchResultsTableView olduğunda görünür "Hayır Sonuçlar" metnin yazı tipini değiştirmek istiyorum sonuç bulunamadı.

Bunu nasıl yapabilirim? Ne yapmak istiyoruz görüntülüyor UILabel erişmek için basitçe Temelde

-(BOOL)searchDisplayController:(UISearchDisplayController *)controller 
     shouldReloadTableForSearchString:(NSString *)searchString { 
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 0.001); 
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 
     for (UIView* v in self.sbc.searchResultsTableView.subviews) { 
      if ([v isKindOfClass: [UILabel class]] && 
        [[(UILabel*)v text] isEqualToString:@"No Results"]) { 
       // .. do whatever you like to the UILabel here .. 
       break; 
      } 
     } 
    }); 
    return YES; 
} 

:

cevap

16

Sen sorusu İşte orada verilen cevabın bir değişiklik var How can I change strings of "Cancel" button, "No Results" label in UISearchBar of UISearchDisplayController?

bir kopyası olabilir "Sonuç Yok" metni. Bunu yapmanın resmi bir yolu yok. Bu sayfada önerilen geçici çözüm, UILabel'ı (arama sonuçları tablosunun tüm alt listelerini sıralayarak) aramak ve değiştirmek içindir. Bu tür bir şeyi genellikle teşvik edemem, ancak Apple'ın bu “Sonuç Yok” etiketiyle başa çıkmak için resmi bir yol sağlamayı reddettiğini buldum, bu yüzden bu kavgada hiçbir engel yok.

+8

Aygıt dili İngilizce değilse, bu çalışmaz. –

+1

@AlastairStuart İyi nokta. Kılıç tarafından yaşayan kılıç tarafından ölür; Ben * bu bir skanky geçici çözümdü. Apple'ın bunu gerçekten resmi bir şekilde özelleştirmemize izin vermesi gerekiyor. – matt