Uitableview UISearchController搜索栏隐藏tableview中的第一个单元格

Uitableview UISearchController搜索栏隐藏tableview中的第一个单元格,uitableview,uisearchcontroller,Uitableview,Uisearchcontroller,我有一个带有搜索栏的tableview。搜索栏由UISearchController提供。当我将搜索栏添加到表的标题视图时,表的第一行将被搜索栏覆盖 如何防止搜索栏隐藏第一行 我在viewDidLoad中有以下代码段: self.searchController = UISearchController(searchResultsController: nil) self.searchController.searchResultsUpdater = self self.searchContro

我有一个带有搜索栏的tableview。搜索栏由UISearchController提供。当我将搜索栏添加到表的标题视图时,表的第一行将被搜索栏覆盖

如何防止搜索栏隐藏第一行

我在viewDidLoad中有以下代码段:

self.searchController = UISearchController(searchResultsController: nil)
self.searchController.searchResultsUpdater = self
self.searchController.searchBar.delegate = self     
self.tableView.tableHeaderView = self.searchController.searchBar
self.searchController.dimsBackgroundDuringPresentation = false
self.searchController.searchBar.sizeToFit()

如果没有范围按钮标题,似乎必须显式设置范围按钮标题数组

self.searchController.searchBar.scopeButtonTitles = [NSArray array];

发现此问题是布局约束问题。解决方法是在包含searchcontroller的视图中删除所有约束,然后逐个添加,直到找到有问题的约束。使用Xcode 7.1

如果您激活然后取消搜索栏,它在之后是否正常工作?作为补充说明,您必须先设置此数组,然后再将其设置为标题或考虑任何计算(如sizeToFit)。这对于iOS 8是必需的,我没有发现iOS 9中的布局问题。然而,这解决了问题。您对什么约束有问题?