Невозможно изменить цвет заголовка кнопки отмены UISearchBar после изменения ее текста.
Я использую этот код, чтобы изменить название кнопки отмены UISearchBar:
-(void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller{
self.searchDisplayController.searchBar.showsCancelButton = YES;
UIView* view=_otsinguRiba.subviews[0];
for (UIView *subView in view.subviews) {
if ([subView isKindOfClass:[UIButton class]]) {
UIButton *cancelButton = (UIButton*)subView;
if (cancelButton) {
[cancelButton setTitle:@"Test") forState:UIControlStateNormal];
[cancelButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
}
}
}
}
В то время как изменение текста работает нормально, изменение цвета нет. он остается черным.
2 ответа:
Я нашел ответ на этот вопрос некоторое время назад, но не помню, где именно. Вот код, который я использую для установки цвета текста.
[[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor redColor],NSForegroundColorAttributeName, //[UIColor whiteColor],UITextAttributeTextShadowColor, //[NSValue valueWithUIOffset:UIOffsetMake(0, 1)],UITextAttributeTextShadowOffset, nil] forState:UIControlStateNormal];