我正在使用
我的目标是将
编辑:
以下是搜索项的设置:
UISearchController
和其相应的UISearchBar
。将UISearchController
与其相应的UITableView
一起放置在主视图的子视图中。我的目标是将
UISearchBar
固定在原位,以便在其处于活动状态时不会移动。目前出现了以下情况:
我已经广泛搜索了这个问题,并尝试了以下方法:
self.searchController.hidesNavigationBarDuringPresentation = false
,但这只是突然将搜索栏移动到屏幕中央。definesPresentationContext = true
,但不会改变行为。self.extendedLayoutIncludesOpaqueBars = true
,但不会改变行为。使用这里提到的
UIBarPositioningDelegate
方法,但奇怪的是无法将其转换为Swift,因为我不能像Objective C版本中那样插入AnyObject<UIBarPositioning>
并仍然使其被识别为override
函数。
编辑:
以下是搜索项的设置:
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
searchTableView.tableHeaderView = searchController.searchBar
UIViewController
,在顶部放置标题视图(带有选项卡选择的那个)和UISearchBar
,最后再嵌入一个UITableViewController
的容器视图。如果按照这种方式进行,我可以保证它不会移动。虽然不确定它是否优雅。(我在我的项目中也有完全相同类型的 UI) - TNguyen