阻止UISearchController隐藏IOS8中的视图导航栏

时间:2014-11-14 11:33:33

标签: ios8 uinavigationbar uisearchcontroller

我在弹出窗口中嵌入了一个UIViewController。该控制器有两个子视图,一个是UINavigationBar和一个UITableView。我尝试实现新的搜索API(因为在iOS8中不推荐使用SearchDisplayControlled)。

当我点击搜索栏(显示两个范围)时,一切都很好,导航栏仍然可见。但是当我开始在搜索栏中输入内容时,导航栏会消失,取而代之的是空白区域。我尝试在self.searchController.hidesNavigationBarDuringPresentation = NO;方法中添加updateSearchResultsForSearchController:,但没有结果。 (注意控制器viewDidLoad defines self.definesPresentationContext = YES;

是否有任何想法强制导航随时显示?

2 个答案:

答案 0 :(得分:1)

我看到同样的效果 - 在我的情况下,在我的视图控制器中设置viewDidLoad中的属性使导航栏保持不变:

- (void)viewDidLoad {
    ...
    self.definesPresentationContext = YES;
    ...
}

当我之前从管理搜索的类(在VC上已经调用-viewDidLoad后初始化)中设置相同的属性时,我看到了空白导航栏的相同行为你形容。

答案 1 :(得分:1)

这项工作对我来说

self.navigationController.navigationBar.translucent = true;