更改方向时导航控制器上的问题

时间:2011-12-03 10:29:35

标签: iphone uinavigationcontroller orientation

我有两个视图控制器,我使用导航控制器从一个视图导航到另一个视图..... 在我的第一个视图控制器中,我正在- (void)viewDidLoad

中以这种方式检查方向
if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
{
//Do this task
}
else
{
//Do this task
}

当我尝试从第二个视图控制器导航到第一个视图控制器时.. 我正在使用此代码进行导航

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

}

这里出现问题......  没有检查上面的方向条件。当我试图从第二个视图控制器导航到第一个视图控制器...... 我不知道我在哪里滞后....我是否被任何逻辑搞砸了或者我想改变我的代码???????

1 个答案:

答案 0 :(得分:0)

调用此方法

    -(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........          

    }



}