Hy,
В моем приложении я хочу анимировать 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 раз с использованием функций делегата. Я не скопировал их здесь.
Есть идеи, что я делаю не так?
Спасибо!