防止 UISearchController 在 IOS8 中隐藏视图导航栏
Posted
技术标签:
【中文标题】防止 UISearchController 在 IOS8 中隐藏视图导航栏【英文标题】:Prevent UISearchController from hiding view Navigation Bar in IOS8 【发布时间】:2014-11-14 11:33:33 【问题描述】:我在弹出窗口中嵌入了一个 UIViewController。这个控制器有两个子视图,一个 UINavigationBar 和一个 UITableView。我尝试实现新的搜索 API(因为 SearchDisplayControlled 在 ios8 中已被弃用)。
当我点击搜索栏(显示两个范围)时,一切正常,导航栏仍然可见。但是当我开始在搜索栏中输入时,导航栏消失了,取而代之的是一个空白区域。我尝试在updateSearchResultsForSearchController:
方法中添加self.searchController.hidesNavigationBarDuringPresentation = NO;
,但没有得到任何结果。 (注意控制器viewDidLoad defines self.definesPresentationContext = YES;
)
有什么想法可以随时强制显示导航吗?
【问题讨论】:
【参考方案1】:我看到了相同的效果 - 在我的情况下,在我的视图控制器中设置 viewDidLoad
中的属性会使导航栏保持不变:
- (void)viewDidLoad
...
self.definesPresentationContext = YES;
...
当我之前从管理搜索的类中设置相同的属性(在 VC 上已调用 -viewDidLoad
之后初始化)时,我看到了与您描述的空白导航栏相同的行为。
【讨论】:
没有帮我修好【参考方案2】:这对我有用
self.navigationController.navigationBar.translucent = true;
【讨论】:
以上是关于防止 UISearchController 在 IOS8 中隐藏视图导航栏的主要内容,如果未能解决你的问题,请参考以下文章
防止 UISearchController 在第一次击键/字符时显示 searchResultsViewController
防止 UISearchController 在 IOS8 中隐藏视图导航栏