白色背景显示在iOS7的UISearchBar之上

时间:2013-09-13 09:36:23

标签: ios uitableview uisearchbar ios7

我的viewController将UISearchBar设置为UITableView的标题视图。

self.tableView.tableHeaderView = self.searchBar;

在iOS7中,向下拉超出UISearchBar会显示一个空白区域,它不遵循使用 self.tableView.backgroundColor 设置的暗色。

enter image description here

有没有办法摆脱白色空间?

4 个答案:

答案 0 :(得分:43)

我设法通过设置表格视图背景视图来摆脱这种颜色。

UIView *backgroundView = [[UIView alloc] initWithFrame:self.tableView.bounds];
backgroundView.backgroundColor = [UIColor clearColor];
self.tableView.backgroundView = backgroundView;

答案 1 :(得分:7)

由于开发人员可能会在年龄的白色背景下挣扎:

tableView.backgroundView = UIView()

答案 2 :(得分:4)

经过大量试验和错误后,在将其设置为tableHeaderView之前,将一个虚拟父UIView添加到UISearchBar会阻止空白区域出现并正确显示tableView的背景颜色。

UIView *parentView = [[UIView alloc] initWithFrame:searchRect];
[parentView addSubview:self.searchBar];
self.tableView.tableHeaderView = parentView;

有兴趣看看是否有更好的解决方案。

答案 3 :(得分:0)

我建议您在视图的属性检查器中启用“扩展边缘”选项