0

我有一个带有按钮和触摸移动手势的视图。当用户触摸按钮时,它会被选中并继续接收触摸移动事件。我想取消选择触摸移动按钮并将移动传递给手势。

如何“优雅地”取消按钮上的触摸接收?

4

2 回答 2

1

在 Swift 4 上尝试下一行代码

youButton.touchesCancelled([], with: nil)

适用于平移手势记录

于 2017-11-10T16:25:22.827 回答
0

您需要实现 UIGestureRecognizerDelegate。具体这种方法。然后建立你的逻辑来决定手势是否应该接收触摸。如果您返回“否”,则该按钮的触摸已准备就绪。如果您返回 YES,则表示进行触摸。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

如果你从来没有更多的控制权,我认为你需要对按钮进行子类化并接管它的命中测试。

于 2012-05-27T14:35:04.827 回答