我有一个图像视图,我在屏幕上非常缓慢地制作动画,重复使用如下块动画:
[UIView animateWithDuration:100.0f
delay:0.0f
options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionRepeat
animations:^(void) {
pattern.frame = CGRectMake(0-(pattern.frame.size.width/2), 0, pattern.frame.size.width, pattern.frame.size.height);
}
completion:NULL];
基本上,图像是屏幕宽度的两倍,当它重复时,它看起来像是在不断地循环。
这一切都很好,但我想做的是根据旋转触摸手势加快或减慢滚动速度。我设置了手势识别器等,但我可以更改当前动画以加快速度吗?
如果没有,我可以取消当前正在运行的动画并用另一个持续时间更短/更长的动画替换它吗?
顺便说一句,我尝试在手势识别器中使用完全相同的动画块,例如:
-(void)rotatedSpinner:(UIRotationGestureRecognizer *)gestureRecognizer{
CGFloat rotation = gestureRecognizer.rotation;
[UIView animateWithDuration:100-(rotation*10)
delay:0.0f
options:UIViewAnimationOptionBeginFromCurrentState
animations:^(void) {
pattern.frame = CGRectMake(0-(pattern.frame.size.width/2), 0, pattern.frame.size.width, pattern.frame.size.height);
}
completion:NULL];
}
..但它似乎根本没有做任何事情?任何帮助表示赞赏。