У меня есть следующий код, который изменяет фон кнопки «Отмена» в 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?
Edit: Испытано здесь, и это новая Иерархия UISearchBar:
UISearchBar:
---UIView:
------UISearchBarBackground
------UISearchBarTextField
------UINavigationButton
Проблема заключается в том, что я не могу проверить if ([sub isKindOfClass:[UINavigationButton class]])
. Эта строка вызывает ошибку компиляции: Use of undeclared identifier: UINavigationButton
Проблема с этим методом заключается в том, что по умолчанию вы не получите симпатичную по умолчанию анимацию по умолчанию ... или, если хотите, мне хотелось бы знать, как это сделать. – x89a10