如何为uiview的不同部分添加多个UITapGestureRecognizer?

Posted

技术标签:

【中文标题】如何为uiview的不同部分添加多个UITapGestureRecognizer?【英文标题】:How to add multiple UITapGestureRecognizer for different parts of uiview? 【发布时间】:2015-09-05 04:13:29 【问题描述】:

说,我有一个宽度为 100 的 UIView

是否可以像这样添加 2 个手势识别器:

rightTapGesture 用于视图的右侧 50 和 其他 50 个视图的 leftTapGesture?

我不能使用标签式按钮!

【问题讨论】:

【参考方案1】:

在你的UIGestureRecognizerDelegate:

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool 
    switch gestureRecognizer 
    case leftTapGesture:
        return touch.locationInView(theView).x < 50
    case rightTapGesture:
        return touch.locationInView(theView).x >= 50
    default:
        // cannot be here
        return false
    

【讨论】:

viewDidLoad中如何调用该函数 这与手势相关联并在点击时调用,你永远不会直接调用它

以上是关于如何为uiview的不同部分添加多个UITapGestureRecognizer?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 UICollectionViewCompositionalLayout 中的不同部分设置多个背景视图

如何为 UIView 添加圆角半径

iOS Swift如何为透明的UIView添加阴影

如何为单个 UIView 提供两个不同的类引用?

如何为 UITapGestureRecognizer 从不同的 UIView 对象设置选择器

iOS 如何为旋转、缩放和将 UIView 添加到 UIIMageView 进行撤消操作