UISearchController 与 UITableView 重叠,这使我无法为单元格呈现详细的 ViewController
Posted
技术标签:
【中文标题】UISearchController 与 UITableView 重叠,这使我无法为单元格呈现详细的 ViewController【英文标题】:UISearchController overlaps UITableView which makes me unable to present detailed ViewController for cell 【发布时间】: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
如果您知道导致此问题的原因和/或我该如何解决它,如果您能告诉我,我将不胜感激。提前致谢。
【问题讨论】:
【参考方案1】:在这个问题上停留了大约 2 周后,我发现解决方案实际上非常简单。我只需要从UISearchController
而不是主要UIViewController
中呈现UIViewController
。这行代码修复了它:
self.searchController.presentViewController(vc, animated: false, completion: nil)
【讨论】:
以上是关于UISearchController 与 UITableView 重叠,这使我无法为单元格呈现详细的 ViewController的主要内容,如果未能解决你的问题,请参考以下文章
UISearchController 与 UITableView?
将 UISegmentedControl 与 UISearchController 一起使用
为啥 iOS viewPager 与 UISearchController 崩溃?
将 UISearchController 与 UINavigationController 一起使用
UISearchController 不能与非半透明 UINavigationBar 一起正常工作
UISearchController:UITableView 的 Section Index 与 searchBar 重叠