作者:听海哭的声音_thesee_338 | 来源:互联网 | 2023-01-08 17:10
我试图用来UISearchController
在iOS 11中与范围栏一起显示搜索栏。
这是我用来设置搜索控制器的代码
let searchCOntroller= UISearchController(searchResultsController: nil)
searchController.delegate = self
navigationItem.searchCOntroller= searchController
navigationItem.hidesSearchBarWhenScrolling = false
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.showsScopeBar = true
searchController.searchBar.scopeButtOnTitles= ["1", "2", "3", "4"]
searchController.searchBar.delegate = self
definesPresentatiOnContext= true
我想要一个带有始终可见的范围栏的搜索栏。加载视图控制器时,上面的代码可以正常工作,并显示搜索栏和范围栏。
但是,一旦搜索控制器变为活动状态然后被关闭,iOS将在关闭搜索控制器时隐藏范围栏,并且仅显示搜索栏。
我试图通过在中添加以下代码来解决此问题didDismissSearchController
,但合并范围栏和搜索栏位于彼此顶部,而不是合并范围栏位于搜索栏下方(如下图所示)。将此代码添加到searchBarTextDidBeginEditing(_ searchBar: UISearchBar)
或searchBarTextDidEndEditing(_ searchBar: UISearchBar)
无效。
searchController.searchBar.showsScopeBar = true
searchController.searchBar.sizeToFit()