执行 push segue 后,当给搜索栏焦点时,导航栏隐藏
Posted
技术标签:
【中文标题】执行 push segue 后,当给搜索栏焦点时,导航栏隐藏【英文标题】:After performing a push segue, when giving searchbar focus the navigationbar hides 【发布时间】:2014-05-16 18:35:16 【问题描述】:我有两个 UITableViewControllers,显示事件和对象。它们都在同一个导航控制器中。它们都包含搜索显示控制器。
当点击一个对象时,会执行一个 push segue 以显示由该对象过滤的事件视图。在这个 segue 之后,当点击 EventsViewController 中的搜索栏时,导航栏会向上滑动并隐藏。当搜索栏失去焦点时,导航栏会重新向下。
我意识到 push segue 会自动创建一个新的导航栏。但是如何确保搜索栏不会自动隐藏导航栏?在执行 push segue 之前,它会一直保持在导航栏下方。
如果您愿意,我可以发布代码,但我怀疑这在这种情况下会有所帮助。告诉我。
【问题讨论】:
【参考方案1】:我以为我已经用谷歌搜索了足够多的东西,但我刚刚找到了答案。
-
创建一个 UISearchDisplayController 类。
将 UISearchDisplayControllers 设置为已创建类的子类。
在 UISearchDisplayController 类中,添加如下方法:
-(void)setActive:(BOOL)visible animated:(BOOL)animated
[super setActive:visible animated:animated];
[self.searchContentsController.navigationController setNavigationBarHidden:NO animated:NO];
【讨论】:
以上是关于执行 push segue 后,当给搜索栏焦点时,导航栏隐藏的主要内容,如果未能解决你的问题,请参考以下文章
从 iphone 上的 push segue 导航返回时,顶部导航栏变得可见
从自定义导航栏展开 segue 后,如何切换回默认导航栏外观?