特别是UITableViewCell上的点击区别于其附件按钮上的点击

时间:2014-06-16 19:19:13

标签: objective-c uitableview ios7 uiaccessoryview

我想实现一个UITableViewController,其工作方式与iOS 7中的剧集(在我的播客下)视图类似>播客应用程序,如果我点击(单元格的左侧部分)单元格并执行另一个segue,如果我点击单元格的附件视图,其单元格应该执行一个segue。

我的UITableViewController同时实现了来自tableView:didSelectRowAtIndexPath:的{​​{1}}和tableView:accessoryButtonTappedForRowWithIndexPath:,但无论我是点击单元格附件按钮还是其他位置,都会调用前一种方法在细胞内。

那么如何进行必要的区分呢?我假设可以在单元格UITableViewDelegate上放置UITapGestureRecognizer并使用其事件处理程序而不是contentView,但希望有一个更简单的方案。< / p>

1 个答案:

答案 0 :(得分:0)

我同时找到了正确答案here

如果附件(在IB中设置)是详细公开按钮(或详细信息按钮),iOS将进行区分并调用tableView:didSelectRowAtIndexPath:tableView:accessoryButtonTappedForRowWithIndexPath:,但如果是公开指示符则不会。事实上,Apple的 Podcasts 应用程序在所描述的上下文中使用了详细信息按钮。

这是[{3}}:

的(较早版本)的相关摘录
  

注意细节公开按钮,与公开内容不同   指示符,可以执行与选择分开的操作   这一行。