我在弹出窗口中嵌入了一个 UIViewController。这个 Controller 有两个 subview ,一个 UINavigationBar 和一个 UITableView。我尝试实现新的搜索 API(因为 SearchDisplayControlled 在 iOS8 中已弃用)。
当我点击搜索栏(显示两个范围)时,一切正常,导航栏仍然可见。但是当我开始在搜索栏中输入内容时,导航栏消失了,取而代之的是一个空白区域。我试图在 updateSearchResultsForSearchController:
方法中添加 self.searchController.hidesNavigationBarDuringPresentation = NO;
,但没有得到任何结果。 (注意 Controller viewDidLoad 定义了 self.definesPresentationContext = YES;
)
任何时候强制显示导航的想法?
最佳答案
我看到了相同的效果 - 在我的例子中,在我的 View Controller 中设置 viewDidLoad
中的属性使导航栏停留在周围:
- (void)viewDidLoad {
...
self.definesPresentationContext = YES;
...
}
当我之前从管理搜索的类中设置相同的属性时(在 -viewDidLoad
已经在 VC 上调用之后初始化),我看到了空白导航的相同行为你描述的吧。
关于ios8 - 防止UISearchController在IOS8中隐藏view Navigation Bar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26929058/