iOS 8 UISearchController的searchBar重叠tableVIew

时间:2014-12-12 14:05:58

标签: ios objective-c iphone uitableview uisearchbar

我正在尝试使用iOS 8的新功能--UISearchController来显示我的tableView和结果。但有些奇怪的事发生了看起来searchBar是透明的。

是的,searchBar与tableView重叠。我在SO中搜索了很多,但没有帮助。

enter image description here

我在viewDidLoad

中的实施
self.myTableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
_myTableView.delegate = self;
_myTableView.dataSource = self;
[self.view addSubview:_myTableView];

self.mySearchController = [[UISearchController alloc] initWithSearchResultsController:nil];
_mySearchController.searchResultsUpdater = self;
_mySearchController.dimsBackgroundDuringPresentation = NO;
_mySearchController.hidesBottomBarWhenPushed = YES;
_mySearchController.hidesNavigationBarDuringPresentation = YES;
_mySearchController.searchBar.searchBarStyle = UISearchBarStyleMinimal;
[_mySearchController.searchBar sizeToFit];

self.myTableView.tableHeaderView = self.mySearchController.searchBar;

我是否错过了重要的事情?

1 个答案:

答案 0 :(得分:1)

这是因为你设置了_mySearchController.searchBar.searchBarStyle = UISearchBarStyleMinimal。根据Apple的documentation

  

UISearchBarStyleMinimal - 搜索栏没有背景,搜索字段是半透明的。

尝试删除该行代码或将其设置为UISearchBarStyleDefault