iPhone UIView动画问题重复

时间:2011-01-20 02:26:31

标签: iphone animation uiview

您好 我只是在玩一些基本的UIView动画。 我将重复次数设置为100,所以我可以看到它一遍又一遍地上下移动。 我设置了一个转换,将我的视图旋转180度

我可以看到我的视线在移动时旋转。 然而,经过一些重复... 视图仍在上下移动,但它不再旋转。 我没有看到为什么它会在同一个循环中停止旋转的原因?

以下是我的代码:

- (void)viewDidLoad {
[super viewDidLoad];
CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI);
Shape* shapeView = [[Shape alloc] initWithShapeName:@"test" frame:CGRectMake(100, 0, 50, 50)];


[self.view addSubview:shapeView];
[UIView beginAnimations:@"test animation" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationRepeatCount:100];
shapeView.transform = trans;
[UIView setAnimationRepeatAutoreverses:YES];
shapeView.frame = CGRectMake(100,300,50,50);


[UIView commitAnimations];

[shapeView release];

}

由于

1 个答案:

答案 0 :(得分:1)

发生这种情况的原因是因为您在设置转换后设置了animationRepeatAutoreverses 。因此,每次形状上升时,只计为1次重复。而旋转方面已经将其视为2次重复。

换句话说,向下和向后移动的形状是1次重复并且需要2秒。现在,由于旋转未设置为自动反转,因此旋转仅需1秒即可完成1次重复。因此,在形状恢复时,旋转部分已经重复2次。这意味着旋转将在100秒后结束,而向上和向下动画将在200秒后结束。

我希望我能够清楚地解释清楚。