【问题标题】:iOS - UITapGestureRecognizer not fired from UIView inside UIScrollView inside UITableViewCelliOS - UITableViewCell 内的 UIScrollView 内的 UIView 未触发 UITapGestureRecognizer
【发布时间】:2016-07-28 21:47:22
【问题描述】:

我有一个自定义 UIView 子类,它附加了一个 UITapGestureRecognizer。 我正在尝试在 UITableViewCell 内的 UIScrollView 内的 UIView(容器)内使用此自定义视图。

所以:

UITableViewCell

•UIScrollView

••UIView(UIScrollView 上正确 contentSize 的容器)

•••一组带有 UITapGestureRecognizer(子类)的 UIViews

似乎如果我不在 UIScrollView 中使用“容器”视图,则可以很好地检测到水龙头。但是 contentSize 不正确,我在 UIScrollView 中的一些自定义视图不在屏幕上,无法访问。

如果我确实在 UIScrollView 中使用了“容器”视图,则滚动视图的 contentSize 是正确的,但不会检测到任何自定义视图点击。

我尝试了以下各种变体,但均未成功:

tapGesture.cancelsTouchesInView = false
scrollView.canCancelContentTouches = false
scrollView.userInteractionEnabled = true
containerView.userInteractionEnabled = true

【问题讨论】:

    标签: ios uitableview uiview uiscrollview uitapgesturerecognizer


    【解决方案1】:

    好吧,由于某种原因,我无法让它工作,甚至尝试将 UIScrollView 和 UIView 子类化为容器视图。

    我最终只是将 UICollectionView 添加到子类 UITableViewCell,然后将 UITableViewController 设置为 UICollectionViewDataSource 和 UICollectionViewDelegate 来处理项目选择。

    【讨论】:

      猜你喜欢
      • 2018-06-09
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      • 2011-01-04
      • 2011-05-18
      相关资源
      最近更新 更多