В следующем анимационном блоке UIView
я делаю CGAffineTransformMakeScale
и CGAffineTransformMakeRotation
, и хотя duration
установлен на 1.0f,
, масштаб идет очень быстро, и вращение идет примерно за 1 секундудолжен.
Должно быть, у меня нет понимания о том, как применяются AffineTransforms
, но я не могу понять это.
Что дает?
РЕДАКТИРОВАТЬ: Владимир ответотлично работалЯ менял одно и то же свойство дважды, а не менял два свойства.Чтобы сделать два изменения в свойстве transform
, вы должны сделать transform
с первоначальным изменением, затем добавить второе изменение к этому transform
и затем оттуда установить transform
вашего объекта.Таким образом, вы можете связать столько, сколько хотите.
CGColorRef color = [[colorArray objectAtIndex:colorIndex] CGColor];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0f];
[[self layer] setFillMode:kCAFillModeForwards];
[self setTransform:CGAffineTransformMakeScale(2.0, 2.0)];
[self setTransform:CGAffineTransformMakeRotation(M_PI / 4)];
[[self layer] setBackgroundColor:color];
[UIView commitAnimations];