iOS开发 UISearchController的cancel按钮自定义

UISearchController的cancel按钮自定义中文取消 有两种方法
一:遍历法

- (void)updateSearchResultsForSearchController:(UISearchController *)searchController {  
    //    //修改"Cancle"退出字眼,这样修改,按钮一开始就直接出现,而不是搜索的时候再出现  
    searchController.searchBar.showsCancelButton = YES;  
    for(id sousuo in [searchController.searchBar subviews]) {  
        for (id view in [sousuo subviews]) {  
            if([view isKindOfClass:[UIButton class]]){  
                UIButton *btn = (UIButton *)view;  
                [btn setTitle:@"取消" forState:UIControlStateNormal];  
                [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];  
            }  
        }  
    }  
}  

二:真机环境下,修改plist文件的语言环境,最为方便的方法

iOS开发 UISearchController的cancel按钮自定义_第1张图片
// 改变取消按钮字体颜色  
    self.searchController.searchBar.tintColor =  [UIColor whiteColor];  
    // 改变searchBar背景颜色  
    self.searchController.searchBar.barTintColor =  [UIColor whiteColor];  
    // 取消searchBar上下边缘的分割线  
    self.searchController.searchBar.backgroundImage = [[UIImage alloc] init];  

有时候弹出的搜索VC的搜索框会先弹出屏幕外一下,然后又弹回来,可以试试这一句代码

self.definesPresentationContext = YES;  

你可能感兴趣的:(iOS开发 UISearchController的cancel按钮自定义)