我有一个用来跟踪用户手指下的对象(UIImageView)的UIPanGestureRecognizer。我只关心X轴上的运动,如果触摸偏离了Y轴上对象帧的上方或下方,我想结束触摸。
我已经有了确定触摸是否在对象的Y边界内所需的一切,但我不知道如何取消触摸事件。翻转识别器的cancelsTouchesInView属性似乎没有达到我想要的效果。
谢谢!
发布于 2010-11-13 01:38:42
这个小把戏对我很管用。
@implementation UIGestureRecognizer (Cancel)
- (void)cancel {
self.enabled = NO;
self.enabled = YES;
}
@end从UIGestureRecognizer @enabled文档中:
禁用手势识别器,因此它不会接收触摸。默认值为YES。如果在手势识别器当前正在识别手势时将此属性更改为NO,则手势识别器将转换到已取消状态。
发布于 2016-04-08 15:15:59
@matej在Swift中的回答。
extension UIGestureRecognizer {
func cancel() {
isEnabled = false
isEnabled = true
}
}发布于 2016-04-21 02:28:12
Obj-C:
recognizer.enabled = NO;
recognizer.enabled = YES;Swift 3:
recognizer.isEnabled = false
recognizer.isEnabled = truehttps://stackoverflow.com/questions/3937831
复制相似问题