Проблемы с автоповоротом и анимацией UIImageView - PullRequest
1 голос
/ 25 ноября 2010

Я периодически вращаю UIImageView на месте.Мое представление очень простое, представление внутри набора представлений UITabBar.Если мне случится повернуть iPad во время анимации поворота, изображение будет искажено.Я проверил все, что могу придумать в своем xib-файле для моего изображения, авторазмер полностью отключен, и я не изменяю размеры подвидов в родительском представлении.

Вот мой код анимации:

            [UIView beginAnimations:nil context:nil];
            [UIView setAnimationDuration:0.5];
            [UIView setAnimationDelay:0.0];
            transform = CGAffineTransformMakeRotation(convertToRadian(myDegrees));
            myImage.transform = transform;  
            [UIView commitAnimations];

Если я уберу свою анимацию, тогда все будет работать так, как я ожидал.Этот код поворота работает нормально, если я не поворачиваю свое устройство.

Что я могу сделать, чтобы встроенная анимация поворота не изменяла мою анимацию и не искажала изображения?

Ответы [ 2 ]

0 голосов
/ 24 декабря 2010

Система координат изменяется.Я тоже это понял ... думал, что у меня ошибка.Если вы сохраните CG ... GState, то сможете вернуться к первоначально использованной системе координат.Это в книге Дейтеля и Дейтеля.Я только что нашел это.Хотел опубликовать его для тех, кто тоже ищет.

У тебя есть хитрый трюк!Я мог бы использовать его, если это не сработает.

0 голосов
/ 29 ноября 2010

После многих разных попыток я сделал здесь четкое представление с вращающимися изображениями внутри него и отключил автоматическое изменение размеров подвидов в конструкторе интерфейса. Вы также можете сделать это в коде по мере необходимости. Мне пришлось добавить местозаполнитель UIView, потому что супер-вид, содержащий мои вращающиеся изображения, должен был автоматически изменять размеры других объектов вида при вращении, но это исправило скачкообразный перекос моих изображений из-за анимации изменения ориентации одновременно с анимацией вращения вручную на месте.

Надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...