天天看點

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;