0
Я сталкиваюсь с проблемами с iOS в UISearchBar. Я использую следующий код, чтобы настроить UISearchBar:Проблемы с внешним видом UISearchBar в iOS 7
- (void)showSearchBarCustomColorAndDesignWithTargetForiOS7:(id)target{
UIView * subview;
NSArray * subviews = [self subviews];
for (subview in subviews){
for (UIView *level2SubView in subview.subviews){
if ([level2SubView isKindOfClass:[UITextField class]])
{
[((UITextField*)level2SubView) setEnablesReturnKeyAutomatically:NO];
((UITextField*)level2SubView).delegate=target;
[((UITextField*)level2SubView) setEnabled:TRUE];
((UITextField*)level2SubView).borderStyle = UITextBorderStyleLine;
((UITextField*)level2SubView).textColor = [UIColor whiteColor];
((UITextField*)level2SubView).font =[UIFont fontWithName:@"ProximaNova-Light" size:24.0];
((UITextField*)level2SubView).autocorrectionType = UITextAutocorrectionTypeNo;
((UITextField*)level2SubView).layer.borderWidth = 1.0;
((UITextField*)level2SubView).layer.borderColor = UIColorFromRGB(0x2774A7).CGColor;
[[((UITextField*)level2SubView) valueForKey:@"textInputTraits"] setValue:[UIColor whiteColor] forKey:@"insertionPointColor"];
((UITextField*)level2SubView).autocapitalizationType = UITextAutocapitalizationTypeNone;
break;
}
if ([level2SubView isKindOfClass:NSClassFromString(@"UISearchBarBackground")])
{
[level2SubView removeFromSuperview];
}
}
}
self.delegate = target;
[self setImage:[UIImage imageNamed:@"search_white.png"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];
[self setImage:[UIImage imageNamed:@"delete_white.png"] forSearchBarIcon:UISearchBarIconClear state:UIControlStateNormal];
[self setBackgroundColor:UIColorFromRGB(0x2774A7)];
}
Всякий раз, когда я нажимаю на UISearchBar первый раз это не вызывающие searchBarShouldBeginEditing
. Также он не показывает текст, который я вводил. Однако, когда я нажимаю второй раз, он ведет себя правильно. Кроме того, в нем отображается черный патч. Моя панель поиска выглядит так: