我的方向设置为横向,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;
}
答案 0 :(得分:1)
在iOS6中{@ 1}}已弃用。您必须使用shouldAutorotateToInterfaceOrientation
和supportedInterfaceOrientations
。
答案 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];