天天看点

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按钮自定义中文取消,改变按钮标题颜色,去掉边框线
// 改变取消按钮字体颜色
    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;