【发布时间】:2026-01-03 09:15:02
【问题描述】:
开始之前,
UISwipeGestureRecognizer *seipeges=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(leftswipe:)];
seipeges.direction=UISwipeGestureRecognizerDirectionLeft;
[self.view addGestureRecognizer:seipeges];
UISwipeGestureRecognizer *rightgesture=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(rightswipe:)];
rightgesture.direction=UISwipeGestureRecognizerDirectionRight;
[self.view addGestureRecognizer:rightgesture];
此滑动检测代码运行良好。 之后我在 UIScrollView 上添加动画。
[UIView animateWithDuration:3.0f
delay:0.0f
options:UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse
animations:^{
if(leftright==1)
[imgCell.scrollview setContentOffset:CGPointMake((-newOffSetX), 0)];
else
[imgCell.scrollview setContentOffset:CGPointMake(0, 0)];
}
completion:^(BOOL finished){
}];
动画也运行良好。 如果动画尚未开始,则 UISwipeGestureRecognizer 仍然运行良好。 然后我发现,当动画开始时,它不再能够检测到 UISwipeGestureRecognizer。
所以任何人都可以告诉我我错过了什么?或者为什么动画开始后 SwipeGesture 代码无法运行?
【问题讨论】:
-
尝试将
UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionAllowUserInteraction设置为该选项,看看它是否有效。 -
@Casey,谢谢!它的作品!
标签: objective-c xcode uiscrollview uiswipegesturerecognizer