2009-10-24 3 views
2

мне нужно повернуть в изображение несколько раз в 90 градусов Я использую следующий код,Как постепенно повернуть UIImageView?

CGAffineTransform transform = CGAffineTransformMakeRotation(PI/2); 
shape.transform = transform; 

здесь форма является моим UIImageView.

Проблема заключается в том, что каждый раз, когда я нажимаю кнопку поворота, он поворачивает ее из исходного положения, чего я не хочу. Я бы повернул его с новой позиции.

Я новичок в программировании на iphone, извиняюсь, если мне не хватает чего-то очень простого и заранее спасибо за помощь.

Кедар

ответ

7

Если вы пытаетесь оживить этот поворот, вы можете прочитать my answer к this question, где кто-то пытается оживить добавочное вращение зрения. Оказывается, инкрементная анимация преобразования с использованием CABasicAnimations немного сложнее, чем вы ожидали. Сначала вам нужно прочитать текущее преобразование вашего слоя UIView из его презентационного слоя, а затем передать его в свою анимацию как fromValue.

Однако, в вашем случае кажется, что вы используете блок анимации UIView для анимации свойства преобразования вашего представления. Код, который вы написали, будет только поддерживать настройку преобразования вашего представления на то же 90-градусное вращение, что не будет постепенно поворачивать представление на 90-градусные шаги. Для инкрементного поворота, я полагаю, вам нужно что-то вроде следующего:

CGAffineTransform transform = CGAffineTransformRotate(shape.transform, M_PI/2.0f); 
shape.transform = transform; 

, который будет захватывать текущее преобразование зрения, повернуть его на 90 градусов, а затем применить полученное преобразование к виду. Опять же, это может столкнуться с теми же проблемами, что и с CABasicAnimations, и в этом случае вам следует проконсультироваться с вышеуказанным ответом.

+0

Спасибо, Брэд. ваш фрагмент кода работал отлично. Ты мужчина! – 2009-10-24 23:06:50

+0

Рад помочь. Если это действительно решило вашу проблему, вы можете проверить «принятый» знак слева от ответа. –

Смежные вопросы