我使用UISearchViewController
来控制我的应用程序的搜索内容。我看到有一个名为 hidesNavigationBarDuringPresentation
的属性用于处理导航栏的可见性,但我想做的是在演示期间隐藏选项卡栏,我找不到任何属性来执行此操作。
有什么解决办法吗?
最佳答案
您是对的,没有用于显式显示和隐藏选项卡栏的属性,但您自己实现起来很容易:
- 让您的 View Controller (不是
UISearchController
)实现UISearchControllerDelegate
。 - 将您的 View Controller 分配给搜索 Controller 的
delegate
属性。 - 实现
willPresentSearchController()
(或didPresentSearchController()
)和presentSearchController()
来隐藏标签栏。 (前者在自动显示搜索栏时调用;后者在手动显示时调用。) - 实现
willDismissSearchController()
(或didDismissSearchController
)以再次显示它。
请注意,如果您的实现只是切换搜索栏的 hidden
属性,则搜索栏不会以动画方式进出;您必须制作自己的动画。
对于您的实现来说,检查 hidesNavigationBarDuringPresentation
的值可能是个好主意,以便仅在导航栏打开时显示和隐藏选项卡栏。
关于ios - SearchViewController 在演示期间隐藏选项卡栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33199075/