【问题标题】:Touch on UIButton in a UITableViewCell cannot scroll the table触摸 UITableViewCell 中的 UIButton 无法滚动表格
【发布时间】:2011-12-04 22:47:14
【问题描述】:

我需要在UITableViewCell 中添加一个UIButton,一切正常,除了当我触摸按钮内部并移动手指时,表格不会滚动。

我尝试继承 UIButton 并在 touchesMoved: 方法中向 self.nextResponder 发送相同的消息,或者调用 touchesCancelled 并希望它将触摸事件传递给下一个响应者,它们都不起作用。

有什么好的方法可以解决这个问题吗?目前我在UITableViewCell之上添加一个UIView,并手动检测触摸事件,分别将结果传递给按​​钮或单元格的其余部分,但这有点脏。

【问题讨论】:

    标签: iphone uitableview uibutton


    【解决方案1】:

    您可以尝试将UITableViewdelaysContentTouches 属性设置为YES

    此外,您可以将 canCancelContentTouches 设置为 YES

    如果该属性的值为NO,则滚动视图不滚动 内容视图开始跟踪后,无论手指移动如何。

    来源:UIScrollView Class Reference

    试试:

    _yourTableView.delaysContentTouches = YES;
    _yourTableView.canCancelContentTouches = YES;
    

    【讨论】:

      【解决方案2】:

      最好的方法是制作一个自定义单元格并整齐地完成您的工作。

      查看Apple docs

      【讨论】:

      • 这只是一个文档链接。它不提供任何反馈或提示。
      • @reecon:一个建议:只要阅读文档,您就会明白为什么它会成为答案
      • 我读过。我还阅读了所有链接的文件。在 UITableViewCell 中放置一个 UIButton 没有任何意义。
      猜你喜欢
      • 2014-12-18
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2016-04-24
      • 1970-01-01
      相关资源
      最近更新 更多