我有按钮和触摸移动手势的视图。当用户触摸按钮时,它将被选中并继续接收触摸移动事件。我想在触摸移动时取消选择按钮并将移动移动到手势。
如何“优雅地”取消按钮上的触控接收?
答案 0 :(得分:0)
您需要实现UIGestureRecognizerDelegate。特别是这种方法。然后构建您的逻辑以决定手势是否应该接受触摸。如果您返回NO,则触摸按钮即可获取。如果你返回YES手势就可以了。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
如果你从未有过更多的控制权,我认为你需要将按钮子类化并接管其命中测试。
答案 1 :(得分:0)
尝试Swift 4上的下一行代码
youButton.touchesCancelled([], with: nil)
适用于pan gesture reco