ios - 关于UISearchController的一个问题

浏览:37日期:2023-12-24

问题描述

我是这样创建的 let searchVc = UISearchController(searchResultsController: self.searchResultVC)

searchResultsController是一个tableViewController

搜索完成后当我点击searchResultsController 里的cell时我该怎么push到新页面

searchResultsController不是UINavigationController push进来的所以用不了self.nav.push.....

UISearchController搜索时会生成一个蒙版。点击蒙版或者点击取消 会自动pop searchResultsController

我该怎么获取到点击蒙版或者点击btn时这个方法

我看了UISearchController里的方法。并没有提供这个api

问题解答

回答1:

这个可以用简单传值来解决:

delegate:设置 self 为 self.searchResultVC 的代理, 把 searchResultsController 里面 tableView 的 didSelected 事件用代理传回来。

block:同样的道理,但是不用写协议,不用另写函数,更简单和便于阅读。

通知:这个还是算了,写多了代码太乱。

UIResponder -> nextResponder,在 self.searchResultVC 是可以通过 nextResponder 拿到 self 的。

相关文章: