遍历UISearchBar的子视图,找到输入框坐在的view,添加背景颜色即可。

代码如下:

    UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(10, 22, kScreenW - 10, 30)];  
    searchBar.tintColor = [UIColor darkGrayColor];  
    searchBar.barTintColor = [UIColor whiteColor];  
    searchBar.placeholder = @"请输入关键字";  
    searchBar.searchBarStyle = UISearchBarStyleMinimal;  
    [searchBar positionAdjustmentForSearchBarIcon:UISearchBarIconSearch];  
    searchBar.delegate = self;  
    [barView addSubview:searchBar];  
    self.searchBar = searchBar;  
      
    // 改变UISearchBar内部输入框样式  
    UIView *searchTextField = nil;  
    if (kIOSVersion >= 7.0)  
    {  
        searchTextField = [[[self.searchBar.subviews firstObject] subviews] lastObject];  
    }  
    else  
    {  
        // iOS6以下版本searchBar内部子视图的结构不一样  
        for(UIView *subview in self.searchBar.subviews)  
        {  
            if ([subview isKindOfClass:NSClassFromString(@"UISearchBarTextField")])  
            {  
                searchTextField = subview;  
            }  
        }  
    }  
    // 改变输入框背景色  
    searchTextField.subviews[0].backgroundColor = [UIColor whiteColor];  
    searchTextField.layer.cornerRadius = 5.0;  

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-02
  • 2021-10-08
  • 2022-12-23
  • 2021-11-21
  • 2022-01-21
  • 2021-12-09
猜你喜欢
  • 2021-10-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-12
  • 2022-01-03
相关资源
相似解决方案