UIView transitionFromView анимация флип с различными размерами просмотра? - PullRequest
1 голос
/ 12 сентября 2011

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

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

Неужели невозможно переключить флип между двумя видами разных размеров? Кто-нибудь, пожалуйста, помогите!

Мой однострочный переход ниже. ivCategory - это маленький вид, с CGSize = (40.0f,48.0f). ivAvatar - большой вид, с CGSize = (124.0f,318.0f). Оба - UIImageView просмотров. Оба уже существуют, добавлены как подпредставления в том же родительском представлении.

[UIView transitionFromView:self.ivCategory 
                    toView:self.ivAvatar
                  duration:1
                   options:UIViewAnimationOptionTransitionFlipFromRight|UIViewAnimationOptionShowHideTransitionViews
                completion:^(BOOL finished){}];

1 Ответ

0 голосов
/ 17 мая 2012

Поместите меньший вид в контейнерный вид такого же размера, как и увеличенный вид. Переключите увеличенный вид и вид контейнера с помощью анимации. Возможно, вы сможете установить для opaque значение NO и установить прозрачный цвет фона в представлении контейнера, чтобы он вообще не отображался. Однако вам придется проверить это на самом низком устройстве, которое вы планируете поддерживать, поскольку анимация непрозрачных видов с прозрачностью может быть медленной. (Мы поддерживаем только 3G и выше.)

...