我知道之前已经触及过这个话题,但据我所知,从未讨论过适合我情况的可能的解决方法。
问题是UISearchDisplayController
似乎在自定义ContainerView
控制器中不起作用。我已经提出了一个sample project,用我能想象的最简单的方式来证明这个问题。
是否有其他方法可以包含视图控制器,以便UISearchDisplayController
可以正常工作?
我怀疑UISearchDisplayController
没有引用正确的UINavigationController
(虽然我已经尝试在viewDidMoveToParentViewController
中以编程方式设置UINavigationController
{{1}}应该已经设定了。)
答案 0 :(得分:1)
我遇到了与嵌入式UITableViewController
类似的问题。其中一个是在UISearchBar
之间切换UIViewControllers
时UISearchDisplayController
,而SWRevealViewController
可见(我正在使用UIViewController
在UISearchBar
之间切换)。仅在iPad上出现此问题。结果是UINavigationBar
突然隐藏在UITableViewController
后面。现在,我使用UIContainerView
中的- (UINavigationController *)navigationController {
return nil;
}
中的以下代码行解决了所有问题:
UISearchDisplayController
这些行阻止UINavigationController
到达并更改MyContainerTableViewController
。我还将此方法子类化为“UITableViewController
”类,并将此类用于所有嵌入式{{1}}。