如何在父视图中禁用点击手势?
Posted
技术标签:
【中文标题】如何在父视图中禁用点击手势?【英文标题】:How can disable tap gesture in parent view? 【发布时间】:2018-01-22 02:48:50 【问题描述】:我有 2 个视图。视图 1 是超级视图,我在超级视图中添加了点击手势。视图 2 是 Collectionview,当我点击 Collectionview 单元格时,Collectionview 中的两个事件 didSelectItemAt 和 superview 中的点击手势都被调用。当我点击 collectionview 单元格时,如何禁用超级视图中的点击手势?
【问题讨论】:
你有可以帮助我们复制东西的代码吗? 【参考方案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在父视图中时我需要点击以上是关于如何在父视图中禁用点击手势?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ios 11 中使用主详细信息视图禁用向后滑动手势?