【发布时间】:2011-12-09 14:41:18
【问题描述】:
在我的 UISearchDisplayController 中,当没有可用结果时,我想更改出现在 searchResultsTableView 中的“无结果”文本的字体。
我该怎么做?
【问题讨论】:
标签: iphone ios uisearchdisplaycontroller
在我的 UISearchDisplayController 中,当没有可用结果时,我想更改出现在 searchResultsTableView 中的“无结果”文本的字体。
我该怎么做?
【问题讨论】:
标签: iphone ios uisearchdisplaycontroller
这是对那里给出的答案的修改:
-(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。没有官方的方法可以做到这一点。正如该页面所建议的,解决方法是查找 UILabel(通过枚举搜索结果表的所有子视图)并对其进行修改。我一般不会鼓励这种事情,但我发现 Apple 拒绝提供官方方式来解决这个“无结果”标签是非常令人讨厌的,所以在这场特殊的斗争中没有任何保留。
【讨论】: