Ios7 更改iOS-7的UISearchBar文本字段背景图像

Ios7 更改iOS-7的UISearchBar文本字段背景图像,ios7,colors,uisearchbar,Ios7,Colors,Uisearchbar,我特别想要一个iOS-7的答案。如果我有一个形象,答案是 [mySearchBar setSearchFieldBackgroundImage:myImage forState:UIControlStateNormal]; 但我只想涂一种颜色。有没有一种简单的方法可以只用一种颜色就可以做到这一点?同样,对于iOS-7 注意:我在这里看到了许多非常复杂的答案,因此:通过遍历等。我希望得到一些简单的答案,而这不会导致我的应用被拒绝。如果我理解正确,您正在寻找barTintColor属性。您可以将b

我特别想要一个iOS-7的答案。如果我有一个形象,答案是

[mySearchBar setSearchFieldBackgroundImage:myImage forState:UIControlStateNormal];
但我只想涂一种颜色。有没有一种简单的方法可以只用一种颜色就可以做到这一点?同样,对于iOS-7


注意:我在这里看到了许多非常复杂的答案,因此:通过遍历等。我希望得到一些简单的答案,而这不会导致我的应用被拒绝。

如果我理解正确,您正在寻找barTintColor属性。您可以将barTintColor属性设置为

mySearchBar.barTintColor = [UIColor blackColor];


希望有帮助

首先,您需要在搜索栏中找到UITextField,然后更改其颜色。以下是获取文本字段的代码:

for (UIView *subView in searchBar.subviews)
    {
        for (UIView *secondLevelSubview in subView.subviews){
            if ([secondLevelSubview isKindOfClass:[UITextField class]])
            {
                UITextField *searchBarTextField = (UITextField *)secondLevelSubview;

                return searchBarTextField;
            }
        }
    }
    return nil;

不,那没用。我指的是非常内部的背景:搜索图标的背景:保存文本的背景。请参阅以下文章以获取参考:。有很多这样的职位。但他们的许多答案涉及到迭代视图层次结构或使用私有API;这就是为什么他们不为我工作。
for (UIView *subView in searchBar.subviews)
    {
        for (UIView *secondLevelSubview in subView.subviews){
            if ([secondLevelSubview isKindOfClass:[UITextField class]])
            {
                UITextField *searchBarTextField = (UITextField *)secondLevelSubview;

                return searchBarTextField;
            }
        }
    }
    return nil;