如何更改搜索栏后面的背景颜色

时间:2015-03-31 10:34:10

标签: ios objective-c uisearchbar uisearchdisplaycontroller

我尝试在iOS7 / 8中自定义UISearchBar,我遇到了下一个问题: searchDisplayController背后的背景总是浅灰色。这就是它的样子:

enter image description here

这是我的一些搜索栏自定义代码:

self.searchDisplayController.searchResultsTableView.backgroundColor = UIColorFromRGB(0x171717);
self.searchDisplayController.searchContentsController.view.backgroundColor = UIColorFromRGB(0x171717);
self.searchDisplayController.searchResultsTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.searchDisplayController.searchResultsTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

有什么办法可以解决吗?感谢。

3 个答案:

答案 0 :(得分:1)

事实证明,这个灰色/白色背景是refreshControl的一部分。所以需要做的就是初始化并设置所需的背景颜色:

self.refreshControl                 = [[UIRefreshControl alloc] init];
self.refreshControl.backgroundColor = UIColorFromRGB(0x232323);

答案 1 :(得分:0)

您可以使用以下方式以编程方式更改它:

[searchBar setTintColor:[UIColor darkGrayColor]];

或者通过更改Bar Tint来尝试从故事板:

enter image description here

答案 2 :(得分:0)

尝试更改xib中可搜索的色调颜色 或代码为[self.searchDisplayController setTintColor:[UIColor whiteColor]];searchDisplayController