UITableView 中 UISearchController 的背景色
Background color for UISearchController in UITableView
我将 SearchController 的搜索栏以编程方式插入到 UITableView 的 tableHeaderView 中。当我拉起查看搜索栏或刷新 table 时,我会在刷新器 activity 指示器和搜索栏之间看到这种奇怪的深灰色,您可以在下图中看到(此背景即使我删除刷新视图,颜色仍然存在):
tableView.tableHeaderView = searchController.searchBar
我试过用我能想到的各种方式更改背景颜色:
tableView.backgroundColor = UIColor.redColor()
tableView.tableHeaderView!.backgroundColor = UIColor.redColor()
searchController.searchBar.backgroundColor = UIColor.redColor()
view.backgroundColor = UIColor.redColor()
没有任何效果。这种深灰色不是我在项目中使用的自定义颜色之一,所以我知道我没有手动设置它。一旦我取出 searchController,一切都像以前一样工作:深灰色被其他地方常见的浅灰色所取代。
试试这个:
[searchController.searchBar setBarTintColor:[UIColor blackColor]];
[searchController.searchBar setTintColor:[UIColor whiteColor]];
希望对您有所帮助。
只需设置一个空视图作为 UITableView 的背景视图
[self.tableView setBackgroundView:[[UIView alloc] initWithFrame:CGRectZero]];
将 UITableView 的 backgroundView 设置为新的无用视图:
self.tableView.backgroundView = [UIView new];
似乎不合逻辑,但很有魅力:)
Cameron E 在 Swift 中的正确答案:
tableView.backgroundView = UIView()
请注意 self.tableView.backgroundView = nil
不 起作用。
尝试改变
的颜色
self.navigationController?.navigationBar = UIColor(红:1,绿:1,蓝:1,alpha:1)
我将 SearchController 的搜索栏以编程方式插入到 UITableView 的 tableHeaderView 中。当我拉起查看搜索栏或刷新 table 时,我会在刷新器 activity 指示器和搜索栏之间看到这种奇怪的深灰色,您可以在下图中看到(此背景即使我删除刷新视图,颜色仍然存在):
tableView.tableHeaderView = searchController.searchBar
我试过用我能想到的各种方式更改背景颜色:
tableView.backgroundColor = UIColor.redColor()
tableView.tableHeaderView!.backgroundColor = UIColor.redColor()
searchController.searchBar.backgroundColor = UIColor.redColor()
view.backgroundColor = UIColor.redColor()
没有任何效果。这种深灰色不是我在项目中使用的自定义颜色之一,所以我知道我没有手动设置它。一旦我取出 searchController,一切都像以前一样工作:深灰色被其他地方常见的浅灰色所取代。
试试这个:
[searchController.searchBar setBarTintColor:[UIColor blackColor]];
[searchController.searchBar setTintColor:[UIColor whiteColor]];
希望对您有所帮助。
只需设置一个空视图作为 UITableView 的背景视图
[self.tableView setBackgroundView:[[UIView alloc] initWithFrame:CGRectZero]];
将 UITableView 的 backgroundView 设置为新的无用视图:
self.tableView.backgroundView = [UIView new];
似乎不合逻辑,但很有魅力:)
Cameron E 在 Swift 中的正确答案:
tableView.backgroundView = UIView()
请注意 self.tableView.backgroundView = nil
不 起作用。
尝试改变
的颜色self.navigationController?.navigationBar = UIColor(红:1,绿:1,蓝:1,alpha:1)