我已經搜索了很多,但找不到一個很好的答案。如何自定義iOS7中的UISearchBar顏色?
我想更改內部圓角視圖的backgroundColor。
就像在Tweetbot上的搜索點擊它從灰色變爲藍色。
據我所知,我可能需要迭代子視圖,但我不知道如何得到正確的對象。 (爲的backgroundColor它不是_searchLabel)
該元素的默認對比度是如此糟糕,這甚至不是滑稽:(
我已經搜索了很多,但找不到一個很好的答案。如何自定義iOS7中的UISearchBar顏色?
我想更改內部圓角視圖的backgroundColor。
就像在Tweetbot上的搜索點擊它從灰色變爲藍色。
據我所知,我可能需要迭代子視圖,但我不知道如何得到正確的對象。 (爲的backgroundColor它不是_searchLabel)
該元素的默認對比度是如此糟糕,這甚至不是滑稽:(
使用此代碼。
_searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.contentView.bounds.size.width, 44.0f)];
_searchBar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
_searchBar.delegate = self;
[self.view addSubView:_searchBar];
UITextField *txfSearchField = [_searchBar valueForKey:@"_searchField"];
txfSearchField.backgroundColor = [UIColor redColor];
這會導致應用商店拒絕。 – STANGMMX
好吧,這個工程。但是要注意。你不能設置一個UIBarStyle事先或將壓倒一切 https://stackoverflow.com/a/19836215/1252720
如果你還在尋找一個更好的答案,我只是碰到這個線程迷迷糊糊地發現了一個很好的解決方案:UISearchBar text color change in iOS 7
如果你看一下通過桑迪普 - Systematix給出的答案(不接受的答案,但答案正下方),他提到了一個非常乾淨的方式修改子視圖中的任何類用這種方法:
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor blueColor]];
您可以在Apple的文檔中閱讀更多關於這一點:https://developer.apple.com/library/ios/documentation/uikit/reference/UIAppearance_Protocol/Reference/Reference.html
這就是說,這裏就是你需要改變的UITextField的的UISearchBar內的白色,圓形的背景是什麼:
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setBackgroundColor:[UIColor redColor]];
現在,如果你需要創建不同的風格不同的UISearchBars,您只需創建的UISearchBar的一個子類,你最終的東西是這樣的:
[[UITextField appearanceWhenContainedIn:[MyCustomSearchBar class], nil] setBackgroundColor:[UIColor redColor]];
http://stackoverflow.com/questions/13817330 /如何更改內部背景顏色的uisearchbar組件上的ios?rq = 1 這是否有幫助? – 4GetFullOf
nope :(我不想添加一個背景圖片,只是改變內部圓形視圖的顏色 – 1b0t
我的意思是解決方案2下面的答案你的提及 – 4GetFullOf