【发布时间】:2017-06-10 22:20:55
【问题描述】:
我将 UISearchController 与 UITableViewController 一起使用。当我进行搜索时,我在表格中选择一行以转到详细视图,然后返回表格视图,表格的第一行隐藏在搜索栏后面。
我可以将第一行滚动回视图,但是当我放开滚动条时它只会弹回搜索栏后面。好郁闷!
在 viewDidLoad 我有:
searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.hidesNavigationBarDuringPresentation = false
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
mainTable.tableHeaderView = searchController.searchBar
删除definePresentationContext = true 解决了这个问题,但我需要这样做以防止在用户转到其他视图控制器时搜索栏出现。
我花了几个小时寻找解决方案并尝试不同的方法来解决问题。
有什么方法可以设置表格的第一行,使其在表格视图重新出现时位于搜索栏下方?
我尝试在prepareForSegue中设置definePresentationContext = true,但没有奏效。
【问题讨论】:
-
使用 uiview 动画和布局约束将表格或集合视图向下推至顶部搜索控制器的高度。
标签: ios