嗨,
我的应用程序我想通过同时更改它的位置和旋转来为 UIView 设置动画。问题是有时动画会改变 UIView 的宽度和高度。
动画代码是这样的:
int shuffleFrameX = (int)self.gameView.frame.size.width - (int)myView.frame.size.width;
int shuffleFrameY = (int)self.gameView.frame.size.height - (int)myView.frame.size.height;
int x = arc4random()%shuffleFrameX;
int y = arc4random()%shuffleFrameY;
CGRect newFrame = CGRectMake(x, y, myView.frame.size.width, myView.frame.size.height);
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
if(isPieceRotationActive)
{
int fact = arc4random()%4;
myView.transform = CGAffineTransformMakeRotation(DegreesToRadians(90*fact));
[myView setPieceRotation:fact];
}
[myView setFrame:newFrame];
[UIView commitAnimations];
该动画使用委托函数重复 2 到 5 次。我没有在这里复制它们。
知道我在做什么错吗?
谢谢!