Поверните UIView по часовой стрелке на угол больше 180 градусов
м анимация стрелки часов от 12 до 'часы к текущему времени. Если это сказать, 11 часовчасы, я хочу, чтобы рука вращалась по часовой стрелке до 11положение часов. Но, конечно, если я использую:
CGAffineTransform rotation = CGAffineTransformMakeRotation(2*M_PI*11/12);
[UIView animateWithDuration:3.0
animations:^{
clockArm.transform = rotation;
}];
вращение идет против часовой стрелки. Я старался:
CGFloat angle = 2*M_PI*11/12;
CGAffineTransform firstRotation = CGAffineTransformMakeRotation(M_PI-0.001);
CGFloat firstRotationTime = 3.0*(M_PI/angle);
CGAffineTransform secondRotation = CGAffineTransformMakeRotation(angle);
CGFloat secondRotationTime = 3.0 - firstRotationTime;
[UIView animateWithDuration:firstRotationTime
delay:0.0
options:UIViewAnimationCurveLinear
animations:^{
self.clockArm1.transform = firstRotation;
}
completion:^(BOOL finished) {
[UIView animateWithDuration:secondRotationTime
delay:0.0
options:UIViewAnimationCurveLinear
animations:^{
self.clockArm1.transform = secondRotation;
}
completion:^(BOOL finished){
}];
}];
Анимация идет по часовой стрелке, но она прерывистая - кажется, что анимация все еще выполняет UIViewAnimationEaseInOut для первой анимации. Что я делаю не так, или есть другой способ добиться того, чего я хочу?