Проблема с навигационным контроллером при смене ориентации - PullRequest
0 голосов
/ 03 декабря 2011

У меня есть два контроллера вида, в которых я использую контроллер навигации для перехода от одного вида к другому ..... В моем первом контроллере вида я проверяю ориентацию таким образом в моем - (void)viewDidLoad

if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
{
//Do this task
}
else
{
//Do this task
}

Когда я пытался перейти от второго к первому viewcontroller .. Я использую этот код для навигации

-(IBAction)back
{
    [self.navigationController popViewControllerAnimated:YES];

}

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

1 Ответ

0 голосов
/ 03 декабря 2011

вызовите этот метод

    -(void) viewWillAppear:(BOOL)animated{


        [self willAnimateRotationToInterfaceOrientation:[UIApplication sharedApplication].statusBarOrientation duration:0]; 
    }


-(void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    if(toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown )
    {

    set frame here........  
    }
    else if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight )
    {
    set frame here........          

    }



}
...