Как я могу остановить панель вкладок, портящую мой флип переход? - PullRequest
5 голосов
/ 31 марта 2011

Я создал приложение панели вкладок iOS с контроллером навигации в одной из вкладок.Он использует анимацию переворачивания, когда он выталкивает или выталкивает представления из стека (я узнал, как это сделать здесь ).

Выглядит отлично, за исключением проблемы с панелью вкладок.Представление в корне стека показывает панель вкладок, но для следующего я установил hidesBottomBarWhenPushed в YES.Толчок прекрасно работает;проблема возвращается к корневому контроллеру представления.Мой вид переворачивается слева, кроме панели вкладок, которая скользит внутрь.

Вот мой код для добавления контроллера вида:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
                       forView:self.navigationController.view
                         cache:NO];
[UIView setAnimationDuration:flipDuration];
[self.navigationController popViewControllerAnimated:NO];
[UIView commitAnimations];

Странная вещь в том, что если я закомментирую всекроме четвертого утверждения, панель вкладок ведет себя сама по себе - она ​​не скользит, она просто появляется мгновенно с остальными.По какой-то причине добавление перехода позволило панели вкладок сказать себе: «Ну, все остальные анимированы.Почему я не должен быть анимированным?Но не пони для меня.Я думаю, что буду придерживаться слайда. '

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

Ответы [ 2 ]

1 голос
/ 17 января 2012

Я понял!Посмотрев на этот и еще один ответ на другой вопрос, я нашел решение.

В контроллере, с которого вы хотите нажать на переход, используйте этот код:

[UIView transitionWithView:[[self navigationController] view]
                  duration:0.3
                   options:UIViewAnimationOptionTransitionFlipFromRight
                animations:^{
                    [[self navigationController] pushViewController:theView animated:NO];
                } completion:NULL];

Вваше мнение вы хотите перейти обратно, используйте этот код:

[UIView transitionWithView:[[self navigationController] view]
                  duration:0.3
                   options:UIViewAnimationOptionTransitionFlipFromLeft
                animations:^{
                    [[self navigationController] popViewControllerAnimated:NO];
                } completion:NULL];

Это удерживает переход от гадости с tabBar.Дайте ему шанс!

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

это не так просто, как создать ссылку на tabBarObject и затем добавить ее также к анимации, или это тоже не работает.

Таким образом, вы можете анимировать ее так же, как ваше представлениеили по-другому.

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