IOS在UISearchDisplayController里定義取消按鈕和去掉No Result

- (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller
{
searchDisplayController.searchBar.backgroundColor = [UIColor whiteColor];
searchDisplayController.searchBar.showsCancelButton = YES;
//定義取消按鈕
/*
 *ios7與ios6方法不同
 */
if (IOS7_OR_LATER) {
    for (id searchbutton in mySearchBar.subviews)
    {
        UIView *view = (UIView *)searchbutton;
        UIButton *cancelButton = (UIButton *)[view.subviews objectAtIndex:2];
        cancelButton.enabled = YES;
        [cancelButton setTitle:@"取消"  forState:UIControlStateNormal];//文字
        break;
    }
}else
{
    for(id cancelButton in [searchDisplayController.searchBar subviews])
    {
        if([cancelButton isKindOfClass:[UIButton class]])
        {
            UIButton *btn = (UIButton *)cancelButton;
            [btn setTitle:@"取消"  forState:UIControlStateNormal];
        }
    }
}
}
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
{
//去除 No Results 標簽
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 0.001);
dispatch_after(popTime, dispatch_get_main_queue(), ^{
    for (UIView *subview in controller.searchResultsTableView.subviews) {
        if ([subview isKindOfClass:[UILabel class]] && ([[(UILabel *)subview text] isEqualToString:@"No Results"] || [[(UILabel *)subview text] isEqualToString:@"無結果"])) {
            [subview removeFromSuperview];
            break;
        }
    }
});
return YES;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容