【问题标题】:How can disable tap gesture in parent view?如何在父视图中禁用点击手势?
【发布时间】:2018-01-22 02:48:50
【问题描述】:

我有 2 个视图。视图 1 是超级视图,我在超级视图中添加了点击手势。视图 2 是 Collectionview,当我点击 Collectionview 单元格时,Collectionview 中的两个事件 didSelectItemAt 和 superview 中的点击手势都被调用。当我点击 collectionview 单元格时,如何禁用超级视图中的点击手势?

【问题讨论】:

  • 你有可以帮助我们复制东西的代码吗?

标签: ios swift swift3 uitapgesturerecognizer


【解决方案1】:

您可以尝试在父视图上将userInteractionEnabled 设置为false

例如view.userInteractionEnabled = false

文档userInteractionEnabled

--更新

您可以实现gestureRecognizer委托,然后检查是否是您的视图调用了touch属性;

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
    if touch.view == {{youview}} {
        return false
    }
    return true
}

【讨论】:

  • 但是当我点击collectionviewcell外部并且如果你在父视图中设置userInteractionEnabled = false你不能点击collectionview因为collectionvew在父视图中时我需要点击
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-14
  • 2022-01-26
  • 2020-02-20
  • 1970-01-01
相关资源
最近更新 更多