2
我想支持前3.2,這是唯一不想合作的符號,任何人都知道一些touchesmoved代碼或我可以用來代替UILongPressGestureRecognizer?任何人都有代碼來替代UILongPressGestureRecognizer?
感謝,
尼克
我想支持前3.2,這是唯一不想合作的符號,任何人都知道一些touchesmoved代碼或我可以用來代替UILongPressGestureRecognizer?任何人都有代碼來替代UILongPressGestureRecognizer?
感謝,
尼克
如你所知,你應該使用的touchesBegan,移動,結束,並取消功能前3.2的iOS。 我認爲只實現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;
}
}