我正在使用帶有UITableViewController的UISearchController。當我進行搜索時,我選擇表格中的一行以轉到詳細信息視圖,然後返回到表視圖,表格的第一行將隱藏在搜索欄後面。在搜索控制器處於活動狀態時出現表視圖時隱藏第一行
我可以將第一行滾回到視圖中,但當我放開滾動時,它會在搜索欄後面彈出。太令人沮喪了!
在viewDidLoad中我有:
searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.hidesNavigationBarDuringPresentation = false
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
mainTable.tableHeaderView = searchController.searchBar
卸下definesPresentationContext =真解決了問題,但我需要,爲了防止在搜索欄從顯示出來,如果用戶塞格斯到其他視圖控制器。
我花了幾個小時尋找解決方案並嘗試不同的方法來解決問題。
當表格視圖重新出現時,是否有任何方法來設置表格的第一行,使其低於搜索欄?
我試着在prepareForSegue中設置definitionsPresentationContext = true,但那不起作用。
把你的表或集合視圖下使用的UIView動畫和佈局約束頂部的搜索控制器的高度。 – Loxx