我知道该主题以前曾涉及过,但据我所知,从未讨论过适合我情况的可能解决方法。
问题是UISearchDisplayController
在自定义ContainerView
控制器中似乎无法正常工作。我放置了一个sample project,它在我能想到的最简单的情况下演示了此问题。
有没有其他方法可以包含视图控制器,以便UISearchDisplayController
可以正常工作?
我的怀疑是UISearchDisplayController
没有对正确的UINavigationController
的引用(尽管我尝试以编程方式在viewDidMoveToParentViewController
中设置了UINavigationController
的位置)。
最佳答案
嵌入式UITableViewController
也有类似的问题。其中之一是在UISearchBar
可见的情况下在UIViewControllers
之间切换之后缺少了UISearchDisplayController
(我正在使用SWRevealViewController
在UIViewController
之间切换)。仅在iPad上会出现此问题。结果发现UISearchBar
突然隐藏在UINavigationBar
的后面。现在,我用UITableViewController
中呈现的UIContainerView
中的以下代码行解决了所有问题:
- (UINavigationController *)navigationController {
return nil;
}
这些行阻止
UISearchDisplayController
到达并更改UINavigationController
。我还将此方法子类化为“MyContainerTableViewController
”类,现在将此类用于所有嵌入式UITableViewController
。关于ios - UISearchDisplayController在容器 View 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23333408/