gpt4 book ai didi

ios - iOS 3.2以下如何获取长按手势功能

转载 作者:技术小花猫 更新时间:2023-10-29 11:00:06 26 4
gpt4 key购买 nike

UILongPressGesture 在 iOS 3.2 及更高版本中可用。但我正在尝试开发应用程序以实现最大兼容性,因此以 ios ver2.0 为目标

谁能指导我如何在 ios v2.0 中完成长按手势

最佳答案

对于单个手指来说,这非常简单:在 touchesBegan 方法中启动一个计时器,并在计时器触发时触发一个 Action 。如果在触发前收到 touchesEnded,请取消计时器。下面是一个使用 performSelector:withObject:afterDelay: 方法的实现。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self performSelector:@selector(fireLongPress)
withObject:nil
afterDelay:LONG_PRESS_THRESHOLD];
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[NSObject cancelPreviousPerformRequestsWithTarget:self];
}

- (void)fireLongPress {
// do what you want to do
}

如果手指移动得太远,您可能还想关闭计时器。

对于多点触控,它有点复杂。您必须跟踪哪个触摸是哪个,并决定要做什么,例如当一根手指按下的时间足够长而另一根手指没有按下时(或找出 UILongPressGestureRecognizer 的作用)。

关于ios - iOS 3.2以下如何获取长按手势功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4565889/

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