关于UISearchController的一个问题

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

searchResultsController是一个tableViewController

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

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

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

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

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

阅读 3.4k
1 个回答

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

  1. delegate:设置 selfself.searchResultVC 的代理, 把 searchResultsController 里面 tableViewdidSelected 事件用代理传回来。

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题