如何设置初始界面方向?

时间:2013-02-08 15:22:24

标签: iphone ios objective-c device-orientation

我的应用程序始终以横向模式启动,左侧是主页按钮。如果右侧的主页按钮旋转。我该怎么做呢?我尝试将不同的值设置为initial interface orientation密钥的info.plist文件,但它不起作用。我尝试在此方法中切换值的顺序:

- (NSInteger)supportedInterfaceOrientations
{
  return UIInterfaceOrientationMaskLandscapeRight | UIInterfaceOrientationMaskLandscapeLeft;
}

但它既不起作用。我该怎么做?

1 个答案:

答案 0 :(得分:4)

对于IOS 5和5.1:

尝试在视图控制器中设置(BOOL)shouldAutorotateToInterfaceOrientation,它适用于我。

enter image description here

enter image description here

    -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
    return toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight;
}

如果您使用的是故事板,您还可以将初始和其他视图控制器设置为横向模式:

enter image description here

对于IOS 6:

您的(NSInteger)supportedInterfaceOrientations应为(NSUInteger),我不确定,但我从不使用它。

// Only used by iOS 6 and newer.
- (BOOL)shouldAutorotate
{
    //returns true if want to allow orientation change
    return TRUE;

}
- (NSUInteger)supportedInterfaceOrientations
{   
     //decide number of origination to supported by Viewcontroller.
     return return UIInterfaceOrientationMaskLandscape;


}