我创建了一个只支持landscape orientation
(左和右)的 iPad 应用程序。Ìt 在 上完美运行iOS 6
,但在iOS 5
应用程序上打开。
任何人都可以帮我解决这个问题。
我创建了一个只支持landscape orientation
(左和右)的 iPad 应用程序。Ìt 在 上完美运行iOS 6
,但在iOS 5
应用程序上打开。
任何人都可以帮我解决这个问题。
只需添加以下方法ViewController
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)toInterfaceOrientation {
return (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
toInterfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
shouldAutorotateToInterfaceOrientation
iOS 6 中已弃用的方法,iOS 5 支持仍需要该方法。
如果您的应用程序使用 UINavigationController,那么您应该将其子类化并在 IB 中设置类。然后,您需要覆盖以下方法以同时支持 iOS5 和 iOS6:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation;
{
return interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
interfaceOrientation == UIInterfaceOrientationLandscapeRight;
}
- (NSUInteger)supportedInterfaceOrientations;
{
return UIInterfaceOrientationLandscapeLeft | UIInterfaceOrientationLandscapeRight;
}
- (BOOL) shouldAutorotate;
{
return YES;
}
在 ios 6 中,不推荐使用“shouldAutorotateToInterfaceOrientation”方法,因此您想在 ios 5 和 ios 6 中运行构建。
然后,请转到构建阶段部分并打开编译源。
然后,将该行粘贴到所有视图控制器中
-fno-objc-弧
之后你粘贴代码
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)toInterfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
并确保在摘要页面支持界面方向仅选择左右横向。
在您的applicationDidFinishLaunching方法中放置此代码
[[UIDevice currentDevice] setOrientation:UIDeviceOrientationLandscape];
无论设备如何,这都会将您的应用程序设置为横向模式。