【问题标题】:How to move touches from UIScrollView to UITableViewCell?如何将触摸从 UIScrollView 移动到 UITableViewCell?
【发布时间】:2018-08-08 15:12:10
【问题描述】:

我有一个 UITableView->UITableViewCells->UIScrollView 层次结构。如果我点击我的单元格,hitTest 说触摸在 UIScrollView 中,如果我滚动 - 它也似乎在 UIScrollView 中。如何使触摸处于 UITableViewCell 级别,但滚动处于 UIScrollView 级别?

【问题讨论】:

  • 我的理解是否正确:UITableViewCell 中有一个 UIScrollView?如果是这样,您是否将其作为子视图添加到单元格的contentsView 中?
  • 没错,scrollView是UITableViewCell的子视图

标签: ios swift uiscrollview hittest touches


【解决方案1】:

这应该是个评论,可惜太长了:

docs 说:

因为滚动视图没有滚动条,它必须知道是否有触摸 表示滚动的意图与跟踪子视图的意图 内容。为了做出这个决定,它暂时拦截了一个 通过启动计时器和在计时器触发之前的触地事件, 查看触摸的手指是否有任何动作。如果计时器触发 位置没有显着变化,滚动视图发送 将事件跟踪到内容视图的触摸子视图。如果 然后用户在计时器结束之前将手指拖得足够远, 滚动视图取消子视图中的任何跟踪并执行 滚动自己。

那么,您确定将UIScrollView 作为子视图添加到表格视图单元格的contentView,而不是单元格本身?

【讨论】:

  • 但不可能在内容视图中添加滚动视图。屏幕:dropbox.com/s/woc279ngzprbvid/…
  • UITableViewCell 继承自UIView,参见docs,即您可以将滚动视图作为子视图直接添加到单元格中。但是由于您还没有这样做,所以我的回答已经过时了,对不起。
猜你喜欢
  • 2011-11-21
  • 1970-01-01
  • 2011-10-01
  • 2011-06-05
  • 2012-02-08
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
相关资源
最近更新 更多