仅在ios6中以纵向模式显示图片

时间:2012-12-31 10:16:09

标签: objective-c ios xcode

我的方向设置为横向,iphone模拟器加载并以横向模式启动我的应用程序。从ios6开始,上面的代码以纵向模式加载pic而不是横向模式。请指教。

编辑:问题从此处开始:

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view setBackgroundColor:[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"480x320-background.png"]]];
}

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

4 个答案:

答案 0 :(得分:1)

在iOS6中{@ 1}}已弃用。您必须使用shouldAutorotateToInterfaceOrientationsupportedInterfaceOrientations

答案 1 :(得分:0)

要修复IOS6中的自动旋转问题,请执行以下操作:

AppDelegate.m文件内

添加以下

if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)
{
    // Note : addSubView doesn't work on IOS6
    [window addSubview: viewController.view];
}
else
{
    // For IOS6, use this method
    [window setRootViewController:viewController];
}

而不是

[window addSubview: viewController.view];

RootViewController.m文件内

//对于IOS6,请使用supportedInterfaceOrientations&amp; shouldAutorotate代替shouldAutorotateToInterfaceOrientation

- (NSUInteger) supportedInterfaceOrientations
{
  return UIInterfaceOrientationMaskLandscape;   
}

- (BOOL) shouldAutorotate 
{
  return YES;
}

答案 2 :(得分:0)

在iOS 6中,旋转方法已更改。您应该实现此方法,并返回YES。

- (BOOL) shouldAutorotate 
{
  return YES;
}

答案 3 :(得分:0)

解决了我的问题:didFinishLaunchingWithOptions[window setRootViewController:headiPhone];