2013-10-14 4 views
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. Также он не показывает текст, который я вводил. Однако, когда я нажимаю второй раз, он ведет себя правильно. Кроме того, в нем отображается черный патч. Моя панель поиска выглядит так:

enter image description here

ответ

-1
This issue may be by adding this code 

[[searchBar.subviews objectAtIndex:0] removeFromSuperview]; or 

if ([level2SubView isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) 
      { 
       [level2SubView removeFromSuperview]; 
      } 

Please remove this and see. 
Смежные вопросы