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文件的语言环境,最为方便的方法
// 改变取消按钮字体颜色
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;