ios - SearchViewController 在演示期间隐藏选项卡栏

标签 ios uisearchcontroller

我使用UISearchViewController来控制我的应用程序的搜索内容。我看到有一个名为 hidesNavigationBarDuringPresentation 的属性用于处理导航栏的可见性,但我想做的是在演示期间隐藏选项卡栏,我找不到任何属性来执行此操作。

有什么解决办法吗?

最佳答案

您是对的,没有用于显式显示和隐藏选项卡栏的属性,但您自己实现起来很容易:

  1. 让您的 View Controller (不是 UISearchController)实现 UISearchControllerDelegate
  2. 将您的 View Controller 分配给搜索 Controller 的 delegate 属性。
  3. 实现 willPresentSearchController() (或 didPresentSearchController())和 presentSearchController() 来隐藏标签栏。 (前者在自动显示搜索栏时调用;后者在手动显示时调用。)
  4. 实现 willDismissSearchController() (或 didDismissSearchController)以再次显示它。

请注意,如果您的实现只是切换搜索栏的 hidden 属性,则搜索栏不会以动画方式进出;您必须制作自己的动画。

对于您的实现来说,检查 hidesNavigationBarDuringPresentation 的值可能是个好主意,以便仅在导航栏打开时显示和隐藏选项卡栏。

关于ios - SearchViewController 在演示期间隐藏选项卡栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33199075/

相关文章:

ios - TableView 和 UIImageView 显示不正确的布局,除非滚动

ios - UISearchController TableView 结果为空

ios - 无法将 View 推送到 searchResultsController

ios - MasterViewController (UISplitViewController) 上 UISearchBar 下的 UITableView

iOS 弹出框 UI 元素

ios - 具有不同对象的动态 UITableview

iphone - OpenCv - iOS MapKit 冲突

ios - 如何让我的 UISearchController 显示下面的单元格?

ios - 以编程方式将 AutoLayout 用于搜索栏和 UITableView

ios - 视频帧仅占 View 的 1/4 - GL