ios开发之--调整UISearchBar的输入框的背景颜色

遍历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;  
原文地址:https://www.cnblogs.com/hero11223/p/8250651.html