我有以下代碼可以更改UISearchBar中「取消」按鈕的背景。更改取消按鈕BackgroundColor和UISearchBar在iOS7中的文本
for(UIView *subview in self.searchBar.subviews){
if ([subview isKindOfClass:[UIButton class]]) {
[(UIButton *)subview setEnabled:YES];
[(UIButton *)subview setTitle:@"New Button Text" forState:UIControlStateNormal];
((UIButton *)subview).tintColor = [UIColor colorWithRed:4/255.0 green:119/255.0 blue:152/255.0 alpha:1.0];
}
}
問題是這段代碼在iOS7中不起作用! UISearchBar中的視圖結構發生了什麼變化?
編輯:這裏測試,這是的UISearchBar的新層次:
UISearchBar:
---UIView:
------UISearchBarBackground
------UISearchBarTextField
------UINavigationButton
的問題是,我無法測試if ([sub isKindOfClass:[UINavigationButton class]])
。這條線拋出一個編譯錯誤:Use of undeclared identifier: UINavigationButton
這個方法的問題是默認情況下你不會得到漂亮的默認動畫...或者如果你能我想知道如何。 – x89a10