Скрытие / отображение навигационной панели на повороте iphone приводит к дезориентированной навигационной панели - PullRequest
1 голос
/ 25 мая 2011

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

-(void)willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if( toInterfaceOrientation == UIInterfaceOrientationPortrait )
    {
        self.view = portraitView;

    }
    else if( toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft )
    {
        self.view = landscapeRightView;
    [self.navigationController setNavigationBarHidden:YES animated:NO];
    }

Это работает нормально, и NavBar исчезает.Проблема в том, что когда я поворачиваюсь назад к портрету, снова появляется мой NavBar, но он вертикальный в середине моего обзора, а не горизонтальный в верхней части экрана !!!Независимо от того, куда я поместил повторное появление NavBar (после поворота, после первой половины), он всегда находится в неправильной ориентации и месте при возврате в портретную ориентацию.портрет:

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
if( self.view == portraitView )
{
     [self.navigationController setNavigationBarHidden:NO animated:NO];
}
}

Кто-нибудь может предложить идеи?Это сводит меня с ума!

1 Ответ

0 голосов
/ 25 мая 2011

проверьте оба значения

if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)

{} еще, если (interfaceOrientation == UIInterfaceOrientationOrienLation_scape)1006 *

{}

...