将 UISearchController isActive 设置为 false 停止 segue
Posted
技术标签:
【中文标题】将 UISearchController isActive 设置为 false 停止 segue【英文标题】:Setting UISearchController isActive to false stops segue 【发布时间】:2018-11-15 14:12:04 【问题描述】:我试图在执行 segue 之前关闭搜索控制器。我已将以下代码添加到视图控制器的 prepare
部分:
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
searchController.isActive = false
这在关闭搜索控制器时效果很好,但是一旦搜索控制器被关闭,segue 就不会执行。就好像关闭搜索控制器会停止其余的 segue。
是否有其他方法可以解除UISearchController
,它不会中断segue 的流程,同时仍会调用所有随附的委托方法?
【问题讨论】:
【参考方案1】:您是通过编程方式还是通过情节提要触发 segue?
如果是前者,您应该在调用 performSegueWithIdentifier:sender:
之前关闭搜索控制器,方法是将该调用移出您的 performSegueWithIdentifier:sender:
调用上方和上方的函数。
如果后者并且您无法在其他地方找到将其解雇的地方,您可以尝试将解雇转移到shouldPerformSegueWithIdentifier:sender: ,尽管您可能会在那里遇到同样的问题。
【讨论】:
以上是关于将 UISearchController isActive 设置为 false 停止 segue的主要内容,如果未能解决你的问题,请参考以下文章
将 UISearchController 与 UINavigationController 一起使用
如何将 segmentedControl 和 UISearchController 作为 UITableViewController 标头? (以编程方式)
如何将 UISearchController 与 SwiftUI 集成
将 InputAccessoryView 设置为 UISearchController