问题描述
我是这样创建的 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 的。