ios6中的自动旋转无法按预期工作

时间:2014-02-24 15:57:15

标签: ios iphone ios6 autorotate

我的应用中有两个观点; “计算器”和“磁带”。我可以点击计算器内的按钮来获取磁带,反之亦然。我根据下面的代码设置旋转,并且它在大多数情况下都能正常工作。

但是,如果我将计算器视图或磁带视图旋转到横向,然后如果我尝试访问其他视图,则会出现问题,界面全部搞砸了,就像它无法识别设备已经旋转一样。有什么建议吗?

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) toInterfaceOrientation duration:(NSTimeInterval)duration 
{
    [self doLayoutForOrientation:toInterfaceOrientation]; 
}


- (void)doLayoutForOrientation:(UIInterfaceOrientation)orientation { 
if (UIInterfaceOrientationIsPortrait(orientation)) 
{
//set the frames here
}
else 
{
//set the frames here
} 
}

1 个答案:

答案 0 :(得分:2)

在视图中写下这些代码将出现在每个视图中。

 UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
if(orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight)
{
//adjust the view for landscape
}
else if(orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown)
{
//adjust the view for portrait.
}