UISearchDisplayController“没有结果”文本

可能重复:
如何更改UISearchDisplayController的UISearchBar中“Cancel”button,“No Results”标签的string?

在我的UISearchDisplayController中,我想在没有结果可用时更改searchResultsTableView中显示的“No Results”文本的字体。

我怎样才能做到这一点?

你的问题可能是重复的如何更改UISearchDisplayController的UISearchBar中的“取消”button,“没有结果”标签的string?

这里给出了一个修改的答案:

-(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; } 

基本上你要做的只是访问显示“无结果”文本的UILabel。 没有官方的方法来做到这一点。 正如在该页面上所build议的,解决方法是查找UILabel(通过枚举search结果表的所有子视图)并对其进行修改。 我一般不会鼓励这种事情,但是我发现苹果拒绝提供一个官方的方式来解决这个“无结果”的标签是彻头彻尾的讨厌,所以在这场特殊的斗争中没有阻止。