2013-09-05 4 views
2

это мой первый вопрос, поэтому, пожалуйста, пройдите!presentViewController: анимированный: завершение wint Анимация

У меня есть приложение iOS, которое имеет 5 полос вкладок, каждый из которых содержит контроллер навигации. Кажется, что независимо от того, где я называю presentViewController: анимированный: завершение с, я не получаю анимацию от перехода, представленный контроллер просмотра просто появляется на экране!

Это также происходит с моим UIImagePickerController, который я представляю с одной из моих вкладок. Нет представления анимации, но когда я ее увольняю, она Анимируется!

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

UserRegistrationViewController *userRegistration = [[UserRegistrationViewController alloc] init]; 

userRegistration.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 

[self presentViewController:userRegistration animated:YES completion:nil]; 

Если кто имеет какие-либо идеи вещей, Я мог бы попробовать, я был бы очень благодарен!

+0

@ Lugubrious Это не метод, который вы должны использовать больше. – mattyohe

ответ

2

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

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

    //Set the view to transparent before it appears. 
    [self.view setAlpha:0.0f]; 
} 

- (void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 

    //Make the view fade in. Set Opaque at the end for a performance boost. 
    [UIView animateWithDuration:0.5f 
        animations:^{ 
         [self.view setAlpha:1.0f]; 
         [self.view setOpaque:YES]; 
        }]; 
} 

Обратите внимание, что панель вкладок уже представляя контроллеры просмотра. Вы не должны пытаться представить контроллеры представления самостоятельно. Пусть панель вкладок справится с этим для вас; для чего это нужно.

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