Win*_*ero 4 uigesturerecognizer ios
我有以下手势设置:
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(singleTapDetected:)];
singleTap.numberOfTapsRequired = 1;
[self addGestureRecognizer:singleTap];
UITapGestureRecognizer *doubleClick = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(doubleClickDetected:)];
doubleClick.numberOfTapsRequired = 2;
[self addGestureRecognizer:doubleClick];
[singleTap requireGestureRecognizerToFail:doubleClick];
Run Code Online (Sandbox Code Playgroud)
当我快速点击 3 次时,我发现它将被转换为一次双击事件和一次单击事件,并为我的应用程序引入了一个错误。
我想要的东西是,如果用户点击 3 次或更多次,则只会触发双击事件。有人可以帮忙解决这个问题吗?预先感谢。
我回答这个问题是为了 iOS 10 和 Swift 3 开发者的利益。
目前在 iOS 10 和 Swift 3 中不存在这个问题。如果未处理,三次点击将降级为双击,并触发相应的操作。尝试下面的例子:
斯威夫特 3 解决方案:
doubleTap = UITapGestureRecognizer(target: self, action:#selector(self.doubleTapAction(_:)))
doubleTap.numberOfTapsRequired = 2
singleTap = UITapGestureRecognizer(target: self, action:#selector(self.singleTapAction(_:)))
singleTap.numberOfTapsRequired = 1
singleTap.require(toFail: doubleTap)
self.view.addGestureRecognizer(doubletap)
self.view.addGestureRecognizer(singleTap)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1855 次 |
| 最近记录: |