UINavigationController中的UISearchBar titleView没有响应/ tappable

时间:2015-12-07 03:02:17

标签: ios swift uinavigationbar uisearchbar uisearchcontroller

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

奇怪的是,如果我在viewDidLoad中实例化一个本地UISearchController并将其searchBar设置为titleView,我可以很好地与UISearchBar进行交互,但每次推动视图控制器时,都会收到警告:

"不允许在解除分配时尝试加载视图控制器的视图 - UISearchController"

如果我通过创建DVC属性来创建UISearchController的类实例,那么UISearchBar是不可交互的:

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

但如果我做一个局部变量,它可以互动(上面提到的那个警告):

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

这个错误完全让我目瞪口呆,它只发生在iPhone上。这似乎是一个简单的问题,我已经尝试了许多不同的方法来解决它。也许有人在这里知道什么是错的。谢谢!

1 个答案:

答案 0 :(得分:1)

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