2015-12-07 35 views
3

我有一个使用Xcode 7 beta 4(Swift 2.1)的Master-Detail项目,其中MVC和DVC都是UIViewControllers。我在DVC中有一个UISearchController属性,用于在DVC导航控制器的titleView中显示UISearchBar。这个搜索栏在iPad上工作正常,但在iPhone上,当我推动DVC时,我可以看到UISearchBar,但它不能被窃听或第一响应者。UINavigationController中的UISearchBar titleView没有响应/可点击

奇怪的是,如果我实例在viewDidLoad中本地UISearchController并设置其搜索栏为titleview的,我可以用的UISearchBar就好了互动,但我每次推视图控制器的时候,我得到一个警告:

“试图加载当它重新分配是不允许的视图控制器的看法 - UISearchController”

如果我通过创建一个DVC属性创建UISearchController的一个类的实例,那么的UISearchBar不相互作用:

self.detailViewController?.navigationItem.titleView = self.searchController.searchBar 

但是,如果我做一个局部变量,它的交互(与警告如上所述):

let localSearchController = UISearchController(searchResultsController: nil) 
self.detailViewController?.navigationItem.titleView = localSearchController.searchBar 

这个bug已经完全傻眼了我,这仅发生在iPhone上。这似乎是一个简单的问题,我尝试了很多不同的方法来弄明白。也许这里有人有一个想法是什么问题。谢谢!

+0

你有没有设法使它工作?我处于类似的情况,除了我没有收到任何警告 – jbouaziz

+0

不,我还没有弄清楚这一点。我必须尽快解决它:) – powertoold

+0

明白了,如果你曾经这样做,我会真正感兴趣的是如何让它工作:) – jbouaziz

回答

2

我能够通过在我的应用程序中搜索definesPresentationContext并删除它的所有实例来解决此问题。我相信可能有办法解决它而不删除。