当我使用UISearchController更新我的表视图时,我有这种奇怪的副作用(如果我从tableview中选择一些内容而不搜索bug本身就不会显示)。但是当我搜索时,选择一个单元格,然后popViewControllerAnimated:
由于某种原因导航栏不再被隐藏。我想这是iOS中的一个错误,并不是我的代码所特有的。但是我想我会看到是否有人能够发现我的代码中的错误,或者对我可能做错的事情有任何想法。我已将[self.navigationController setNavigationBarHidden:YES];
添加到viewWillAppear
的{{1}},但在动画结束之前,该栏不会消失。
我的TableView / UISearchController代码:
rootView
答案 0 :(得分:2)
如果设置searchController.hidesNavigationBarDuringPresentation = NO
?
可能会发生以下情况:
searchController.active
设置为YES
。因此,searchController
会调用[... setNavigationBarHidden:YES]
,因为默认为UISearchController.hidesNavigationBarDuringPresentation = YES
。popViewControllerAnimated:
被召唤。searchController.active
设置为NO
,因此searchController
会调用[... setNavigationBarHidden:NO]
。这会导致显示导航栏。答案 1 :(得分:-1)
我认为一旦您的搜索结果返回,您将重新加载主表而不是搜索表。这是您应该如何在搜索结果表上加载数据。
self.searchController.searchResultsTableView reloadData];