我使用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上。这似乎是一个简单的问题,我已经尝试了许多不同的方法来解决它。也许有人在这里知道什么是错的。谢谢!
答案 0 :(得分:1)
我能够通过在我的应用中搜索definesPresentationContext
并删除它的所有实例来解决此问题。我确定可能有办法修复它而不删除。