首次呈现搜索控制器后,iOS 11会隐藏范围栏

首次呈现搜索控制器后,iOS 11会隐藏范围栏,第1张

概述我正在尝试使用UISearchController在iOS 11中显示搜索栏和范围栏. 这是我用来设置搜索控制器的代码 let searchController = UISearchController(searchResultsController: nil)searchController.delegate = selfnavigationItem.searchController = s 我正在尝试使用UISearchController在iOS 11中显示搜索栏和范围栏.

这是我用来设置搜索控制器的代码

let searchController = UISearchController(searchResultsController: nil)searchController.delegate = selfnavigationItem.searchController = searchControllernavigationItem.hIDesSearchbarWhenScrolling = falsesearchController.searchResultsUpdater = selfsearchController.dimsBackgroundDuringPresentation = falsesearchController.searchbar.showsScopebar = truesearchController.searchbar.scopebuttonTitles = ["1","2","3","4"]searchController.searchbar.delegate = selfdefinesPresentationContext = true

我想要一个带有范围栏的搜索栏,它始终可见.
当视图控制器加载时,上面的代码工作正常,它会显示搜索栏和范围栏.

但是,一旦搜索控制器变为活动状态然后被解除,iOS就会在关闭搜索控制器时隐藏范围栏,它只显示搜索栏.

我尝试通过在dIDdismissSearchController中添加以下代码来解决此问题,但是范围栏和搜索栏位于彼此之上,而不是搜索栏下方的范围栏(如下图所示).将此代码添加到searchbarTextDIDBeginEditing(_ searchbar:UISearchbar)或searchbarTextDIDEndEditing(_ searchbar:UISearchbar)无效.

searchController.searchbar.showsScopebar = truesearchController.searchbar.sizetoFit()

解决方法 >尝试将此添加到搜索控制器设置:

searchController.sizetoFit()

>然后添加:

func searchbarShouldBeginEditing(_ searchbar: UISearchbar) -> Bool {    self.searchbar.sizetoFit()    return true}func searchbarShouldEndEditing(_ searchbar: UISearchbar) -> Bool {    self.searchbar.sizetoFit()    return true}

不要在搜索栏功能中放置searchController.searchbar.showsScopebar = true.由于某种原因,这会产生问题.

总结

以上是内存溢出为你收集整理的首次呈现搜索控制器后,iOS 11会隐藏范围栏全部内容,希望文章能够帮你解决首次呈现搜索控制器后,iOS 11会隐藏范围栏所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1033213.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存