我正在开发一个应用程序(Xcode 4.5 iOS 6),它必须与已安装软件版本的设备兼容,从 4.5 和默认 iPhone 5 开始。
我知道新的 iOS 6 更改带有自动旋转模式。
当您打开设备时,“iPhone Simulator 6.0”应用程序运行正常,但是当我运行“iPhone Simulator 5.0”时出现旋转问题。
我输入了代码,以及从 iOS 6 和旧方法(已弃用)到 iOS 5 的新方法。
所以寻找旋转方法:
#pragma mark - Rotate Methods
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAllButUpsideDown;
}
- (BOOL) shouldAutorotate
{
return YES;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
#pragma mark - Rotate Methods iOS 5
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (UIInterfaceOrientationIsPortrait(interfaceOrientation))
{
[menuPortrait setHidden:NO];
[menuLandscape setHidden:YES];
}
if (UIInterfaceOrientationIsLandscape(interfaceOrientation))
{
[menuPortrait setHidden:YES];
[menuLandscape setHidden:NO];
}
return YES;
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation))
{
[self.menuLandscape setHidden:YES];
[self.menuPortrait setHidden:NO];
}
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
{
[self.menuLandscape setHidden:NO];
[self.menuPortrait setHidden:YES];
}
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
}
你能帮我就这个问题提供一些建议吗!提前感谢您的回答!