在iPhone OS上,-touchesEnded:withEvent:当你离开手指时会快速触发,除非有拖拽。如果-touchesMoved:withEvent:已经触发,那么在你触及touchesEnded之前有大约0.6秒的延迟:withEvent:。
我在一个新项目中验证了这一点,没有scrollView,没有多点触控。
我希望用户拖动一个对象,然后在他举起手指时立即触发方法。 0.6秒的延迟是不可接受的。
有关处理此问题的任何想法吗?
编辑:我在测试项目中编写的唯一代码是:
@implementation MyView
// startTime is an ivar
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
startTime = [NSDate timeIntervalSinceReferenceDate];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"%f", [NSDate timeIntervalSinceReferenceDate] - startTime);
}
答案 0 :(得分:3)
发现问题:Magic Trackpad。当您运行模拟器时,Magic Trackpad会在确定您已结束触摸之前添加延迟。