【发布时间】:2015-12-07 03:02:16
【问题描述】:
我有一个使用 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
这个 bug 完全让我目瞪口呆,而且它只发生在 iPhone 上。这似乎是一个简单的问题,我尝试了许多不同的方法来解决它。也许这里有人知道出了什么问题。谢谢!
【问题讨论】:
-
你有没有设法让它工作?我的情况类似,只是没有收到任何警告
-
不,我还没有弄清楚这一点。我必须尽快解决它:)
-
知道了,如果你这样做了,我真的很想看看你是如何让它工作的:)
标签: ios swift uinavigationbar uisearchbar uisearchcontroller