我有一个带有按钮和触摸移动手势的视图。当用户触摸按钮时,它会被选中并继续接收触摸移动事件。我想取消选择触摸移动按钮并将移动传递给手势。
如何“优雅地”取消按钮上的触摸接收?
我有一个带有按钮和触摸移动手势的视图。当用户触摸按钮时,它会被选中并继续接收触摸移动事件。我想取消选择触摸移动按钮并将移动传递给手势。
如何“优雅地”取消按钮上的触摸接收?
在 Swift 4 上尝试下一行代码
youButton.touchesCancelled([], with: nil)
适用于平移手势记录
您需要实现 UIGestureRecognizerDelegate。具体这种方法。然后建立你的逻辑来决定手势是否应该接收触摸。如果您返回“否”,则该按钮的触摸已准备就绪。如果您返回 YES,则表示进行触摸。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
如果你从来没有更多的控制权,我认为你需要对按钮进行子类化并接管它的命中测试。