gpt4 book ai didi

ios - 在 xib 中设置用于单击和双击的 UIGestureRecognizers

转载 作者:行者123 更新时间:2023-11-29 10:26:36 25 4
gpt4 key购买 nike

我在 UIImageView 的 xib 中设置了两个 UITapGestureRecognizers。我还在关联的头文件中设置了它们的 IBAction。对于单击手势识别器,我在属性检查器中将点击和触摸设置为 1,将状态设置为已启用,将延迟触摸结束设置为是。对于双击手势识别器,我将点击和触摸设置为 2,将状态设置为已启用,将取消触摸设置为 YES,将延迟触摸结束设置为 YES。

当我双击 UIImageView 时,它只会触发单击的 IBAction 方法。因此,我决定打印 imageview.gestureRecognizer,它将单击状态的 UITapGestureRecognizer 显示为已结束,将双击状态的 UITapGestureRecognizer 显示为可能。

我已经被困在这个问题上几个小时了。我找到了以编程方式执行此操作的方法,但我想知道如何通过在 xib 本身中设置它来执行此操作。

任何帮助都会很棒!预先感谢您的回复!

最佳答案

这是一个很好的问题。如果像这样向代码中添加手势

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(singleTap)];

singleTap.numberOfTapsRequired = 1;
[self.view addGestureRecognizer:singleTap];

UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(doubleTap)] ;
doubleTap.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:doubleTap];

[singleTap requireGestureRecognizerToFail:doubleTap];

一切正常,因为你在这里取消了第一个手势

[singleTap requireGestureRecognizerToFail:doubleTap];

如果你在 xib 中添加了两个手势,你总是应该在有双击的情况下取消单击。而且你总是需要为手势使用 2 个属性并使用

[self.firstGestureProperty requireGestureRecognizerToFail:self.secondGestureOroperty];

对于单击:

enter image description here

双击:

enter image description here

源代码:

enter image description here

一切正常。

关于ios - 在 xib 中设置用于单击和双击的 UIGestureRecognizers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31883068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com