gpt4 book ai didi

iphone - 有人有代码可以替代 UILongPressGestureRecognizer 吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:57:40 25 4
gpt4 key购买 nike

我想支持 pre 3.2,这是唯一不想合作的符号,有人知道一些 touchesmoved 代码或我可以用来代替 UILongPressGestureRecognizer 的东西吗?

谢谢,

尼克

最佳答案

如您所知,对于 iOS 3.2 之前的版本,您应该使用 touchesBegan、Moved、Ended 和 Canceled 函数。我认为只实现 touchesMoved 是不好的,因为如果用户按下并且在释放之前根本不移动,那么 touchesMoved 将永远不会被调用。

相反,我使用 NSTimer 来实现长按触摸事件。这可能不是最佳解决方案,但对我的应用来说效果很好。这是一段代码。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
isAvailable = NO;
timer = [NSTimer scheduledTimerWithTimeInterval:DURATION target:self selector:@selector(didPassTime:) userInfo:nil repeats:NO];
}

- (void)didPassTime:(id)sender{
isAvailable = YES;
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
if(isAvailable == YES){
// still pressing after 0.5 seconds
}
else{
// still pressing before 0.5 seconds
}
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
if(isAvailable == YES){
// releasing a finger after 0.5 seconds
}
else {
// releasing a finger before 0.5 seconds
[timer invalidate];
timer = nil;
}



}

关于iphone - 有人有代码可以替代 UILongPressGestureRecognizer 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4629393/

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