在我的应用程序中我使用touchesMoved方法来检测向左/向右滑动。 当用户连续向左和向右滑动时,图像动画会自动更新。 我能够检测到滑动动作,但有时当我开始连续左右滑动时,屏幕不会检测到触摸移动事件。
在滑动区域中,我放置了一个隐藏按钮和少量用于动画的ImageView。 我想知道它为什么会发生。请帮助我。
谢谢。代码:
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
[super touchesMoved:touches withEvent:event];
UITouch *touch = [touches anyObject];
CGPoint newLocation = [touch locationInView:self.view];
CGPoint oldLocation = [touch previousLocationInView:self.view];
if(newLocation.x-oldLocation.x>0){
swipe_direction = 1;
//NSLog(@"left");
}
else{
swipe_direction = 2;
//NSLog(@"right");
}
if(swipe_direction == 1){
//animate images
}
else if(swipe_direction == 2){
//animate images
}
}
答案 0 :(得分:1)
touchesMoved
仅检测视图的空白部分。因此,它不会检测您使用的对象。
在视图上放置一个SwipeGestureRecognizer,然后从那里使用它。
答案 1 :(得分:0)
您是否考虑过使用SwipeGestureRecognizer而不是touchesMoved?