帮我设置方向

时间:2010-12-29 11:16:43

标签: iphone iphone-sdk-3.0

在iPad我的应用程序中我有2个视图,第一个视图可以是纵向或横向,但第二个视图应该是横向模式。所以我强行使用下面的

使第二个视图以横向模式显示
[[UIApplication sharedApplication] setStatusBarOrientation:
         UIInterfaceOrientationLandscapeRight];

但是当我检查设备orienatation后返回第二个视图后我的问题是它返回“Portrait”。但第二个视图始终处于横向模式。但为什么我的方向错误。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

要设置方向,UIViewController或类似设备有一个可以覆盖的功能。

具体来说,请查看此apple doc并向下滚动到“shouldAutorotateToInterfaceOrientation:”。

强制横向模式的代码应该类似于:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
if ((interfaceOrientation==UIInterfaceOrientationPortrait)||(interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown))
{
    return NO;
}
else if ((interfaceOrientation==UIInterfaceOrientationLandscapeLeft)||(interfaceOrientation==UIInterfaceOrientationLandscapeRight))
{
    return YES;
}
else {
    return YES;
}
}

此代码应包含在视图控制器对象中,并在启动视图控制器时自动调用。