IPhone SDK - проблема перехода на NavigationController - PullRequest
0 голосов
/ 13 марта 2010

Я почти закончил с моим первым приложением для IPhone, и все работает отлично, за исключением одной очень маленькой ошибки дисплея:

Мой звездный экран - это UIView (полноэкранный режим) без панели навигации или панели инструментов. Если я нажимаю на кнопку «Пуск», появляется анимация UIViewAnimationTransitionFlipFromRight, которая переключается на основной контроллер навигации:

-(IBAction) switchViewToMainMenu {
[UIView beginAnimations:@"Flip View" context:nil];
[UIView setAnimationDuration:1.25];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight forView:self.window cache:YES];
[self.navController viewWillAppear:YES];
[self.startScreenViewController viewWillDisappear:YES];

[self.startScreenViewController.view removeFromSuperview];  
[self.window addSubview:navController.view];    

[self.startScreenViewController viewDidDisappear:YES];
[self.navController viewDidAppear:YES];
[UIView commitAnimations];
self.startScreenViewController=nil;
[startScreenViewController release];

}

Это прекрасно работает, за исключением одной маленькой проблемы:

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

Есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 01 сентября 2010

Мы нашли решение, используя setAnimationDelay, предоставляя некоторое время для загрузки и отображения вкладки. Думаю, вам нужно немного изменить код, чтобы использовать setAnimationDelay. Вы должны использовать задержку setyanimation непосредственно перед переходом setanimation и переход setanimation непосредственно перед commitAnimations Поэтому приведенный выше код должен заканчиваться на:

[UIView setAnimationDelay:2]; // 2 seconds delay seems to be working for us  
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight forView:self.window  cache:YES];  
[UIView commitAnimations];  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...