【发布时间】:2016-04-30 05:28:10
【问题描述】:
我创建了一个UIViewController,其中包含UISearchController 和一个UITableView。 UITableView 最初显示所有结果,然后当用户开始输入内容时,这些结果将通过UISearchController 进行过滤。单击每个单元格应链接到详细页面。虽然这在用户尚未开始输入时有效,但一旦用户开始输入,它就不再有效,因此当 UISearchController 开始呈现结果时。这就是我在控制台中得到的全部内容:
Warning: Attempt to present <MyProject.profileView: 0x13e9df000> on <MyProject.SearchPage: 0x142a1d8f0> which is already presenting <UISearchController: 0x142a1f7c0>
这让我认为 UISearchController 实际上是在呈现第二个 UITableView 的过滤结果,而不是第一个,我认为这应该是导致错误的原因。但是,我不完全确定。
这就是我将UISearchController 添加到我的UIViewController 的方式:
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
self.definesPresentationContext = true
searchController.searchBar.scopeButtonTitles = ["Groups", "People"]
searchController.searchBar.delegate = self
tableView.tableHeaderView = searchController.searchBar
如果您知道导致此问题的原因和/或我该如何解决它,如果您能告诉我,我将不胜感激。提前致谢。
【问题讨论】:
标签: ios swift uitableview uiviewcontroller uisearchbar