在触摸移动时取消触摸UIButton(iOS)

我有一个button和触摸移动手势的看法。 当用户触摸button时,它变成被选中,并保持接收触摸移动事件。 我想取消select触摸移动中的button并将移动传递给手势。

如何取消“优雅”button上的触摸接收?

你需要实现UIGestureRecognizerDelegate。 具体这个方法。 然后build立你的逻辑来决定手势是否应该接触。 如果你返回NO,那么触摸是为了获取button。 如果您返回YES手势来接触。

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

如果你从来没有更多的控制,我认为你需要inheritancebutton,并接pipe其命中testing。

试试Swift 4上的下一行代码

 youButton.touchesCancelled([], with: nil) 

与平移手势logging效果很好