Я использую CGAffineTransformRotate и CGAffineTransformTranslate для анимации продвижения изображения автомобиля (UIImageView) по экрану.Анимация управляется UISlider, так что пользователь продвигает ползунок, автомобиль движется вперед и едет за угол.Для каждой точки на UISlider мне нужно иметь возможность установить абсолютное значение для свойств автомобиля CGAffineTransformRotate и CGAffineTransformTranslate.
Однако каждый раз, когда вызывается преобразование, изображение автомобиля трансформируется постепенно.Так что, если, например, я использую это в точке ползунка 0,01:
carImage.transform = CGAffineTransformRotate(carImage.transform, degreesToRadians(5));
carImage.transform = CGAffineTransformTranslate(carImage.transform, 4.0, - 10.0);
и это в точке ползунка 0,02:
carImage.transform = CGAffineTransformRotate(carImage.transform, degreesToRadians(10));
carImage.transform = CGAffineTransformTranslate(carImage.transform, 8.0, - 20.0);
Когда значение ползунка равно 0,02, я бы хотелавтомобиль должен находиться под углом 10 градусов со значением x 8 и значением a -20.Однако, что я получаю, так это автомобиль под углом 15 градусов со значением x 12 и значением y -30.Он применяет мое второе преобразование к значениям, полученным после первого преобразования.
Как я могу применить каждое преобразование к базовым значениям UIImageView моего автомобиля?Т.е. я хочу, чтобы каждое преобразование было абсолютным на основе нетрансформированного UIImageView.Я не хочу, чтобы преобразования были инкрементальными.