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