簡體   English   中英

iPhone UIView動畫重復問題

[英]iPhone UIView Animation problem with repeating

嗨,我只是在玩一些基本的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];

}

謝謝

發生這種情況的原因是因為設置轉換設置了animationRepeatAutoreverses。 因此,每次形狀上升時,這僅算作1次重復。 而輪換方面已將其計為2次重復。

換句話說,形狀上下移動是1次重復,耗時2秒。 現在,由於未將旋轉設置為自動反轉,因此旋轉只需1秒即可完成1次重復。 因此,到形狀恢復時,旋轉部分已經進行了2次重復。 這意味着旋轉將在100秒后結束,而向上和向下動畫將在200秒后結束。

我希望我能夠清楚地解釋這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM