gpt4 book ai didi

iphone - 很难捕获 UIButton 子类上的双击。 (捕获双击的时间延迟)

转载 作者:行者123 更新时间:2023-12-03 20:57:49 24 4
gpt4 key购买 nike

我说的是用同一根手指在屏幕上进行两次单独的触摸

我认为我有正确的编码。但对我来说,在 iPad 上实际生成双击几乎是不可能的。是否可以增加单击和双击之间的时间间隔,以便更容易触发。我非常快速地双击,它会将其捕获为两次单击。只有有时我足够幸运才能触发双击。我将 UIButton 项目的子类放入 ScrollView 中。

无论如何,我的 UIButton 子类实现:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{

UITouch *touch = [[event allTouches] anyObject];

NSLog(@"Touch count:%d",touch.tapCount);

if (touch.tapCount == 1)
{
//Do things for one touch
}
else if (touch.tapCount == 2)
{
//Do things for double touch
}
}

这正在捕获事件。这就是为什么我认为我的代码是正确的,我只是找不到与 UIEvent 有关的任何内容以及决定发生多少次触摸的内容。我在不同的 UIView 中测试了同样的东西,它的工作完全符合预期。

最佳答案

您的代码同时检测 View 中的两个手指,而不是手指上的快速序列(双击)。

如果您想检测双击,最简单的方法是使用手势识别器。无论在哪里设置子类,请添加以下代码:

UITapGestureRecognizer *singleFingerDoubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleFingerDoubleTap:)];
singleFingerDoubleTap.numberOfTouchesRequired = 1;
singleFingerDoubleTap.numberOfTapsRequired = 2;
[self addGestureRecognizer:singleFingerDTap];
[singleFingerDTap release];

并实现一个处理双击的方法:

-(void)handleSingleFingerDoubleTap:(id)sender {
//Do stuff
}

关于iphone - 很难捕获 UIButton 子类上的双击。 (捕获双击的时间延迟),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3680034/

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