UISearchDisplayController"无结果"文本

Col*_*lin 6 iphone uisearchdisplaycontroller ios

可能重复:
如何在UISearchDisplayController的UISearchBar中更改"取消"按钮,"无结果"标签的字符串?

在我的UISearchDisplayController中,我想更改没有结果可用时出现在searchResultsTableView中的"无结果"文本的字体.

我怎样才能做到这一点?

mat*_*att 16

您的问题可能是重复的如何在UISearchDisplayController的UISearchBar中更改"取消"按钮,"无结果"标签的字符串?

这是对那里给出的答案的修改:

-(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;
}
Run Code Online (Sandbox Code Playgroud)

基本上你要做的只是访问显示"无结果"文本的UILabel.没有正式的方法可以做到这一点.该页面上建议的解决方法是查找UILabel(通过枚举搜索结果表的所有子视图)并对其进行修改.我一般不能鼓励这种事情,但我发现Apple拒绝提供正式的方法来解决这个"无结果"的标签是完全令人讨厌的,所以在这场特殊的战斗中没有禁止.

  • 如果设备语言不是英语,这将不起作用. (8认同)