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;