iPhone SDK: переворачивать и масштабировать анимацию между контроллерами представления, используя блоки? - PullRequest
3 голосов
/ 14 марта 2011

Я пытаюсь создать анимацию переворачивания и масштабирования между двумя контроллерами представления.Это кажется возможным, используя блоки анимации, доступные в iOS 4.0, но я все еще не уверен, как это реализовать.Я нашел этот ТАК вопрос, который показывает анимацию переворачивания.

Используя этот код, переключение между двумя представлениями работает нормально, но масштабирование - нет - анимация переворота завершается, а затем новое представлениепрыгает на правильный размер.Как бы я перевернул вид и одновременно масштабировал его?

UIView *tempContainer = myView.contentView ;
[UIView transitionWithView:tempContainer
                  duration:2
                   options:UIViewAnimationOptionTransitionFlipFromRight
                animations:^{ 
                    [[[tempContainer subviews] objectAtIndex:0] removeFromSuperview]; 
                    [tempContainer addSubview:myOtherViewController.view];
                    CGAffineTransform transform = CGAffineTransformMakeScale(4.0, 4.0);
                    tempContainer.transform = transform;
                } 
                completion:^(BOOL finished){
                    [tempContainer release]; 
                }];

Ответы [ 2 ]

0 голосов
/ 09 марта 2014

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

Полагаю, вы могли бы использовать другое свойство представления контроллеров представления как вид сзади, но я не пробовал это.

0 голосов
/ 20 апреля 2011

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

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