我使用 Xcode 4.4 和 iOS 5.1 开发了一个应用程序。我将 Xcode 更新为 4.6.2,iOS 为 6.1,但我选择了目标为 iOS 5.1(即使我使用的是 Xcode 4.6.2)。我的应用程序支持所有方向。
我的问题是:我想在横向模式下限制一些视图,它在模拟器中运行良好,但是当我在 iPhone 5 设备上运行应用程序时,我的方法不起作用,请帮助我?
我使用 Xcode 4.4 和 iOS 5.1 开发了一个应用程序。我将 Xcode 更新为 4.6.2,iOS 为 6.1,但我选择了目标为 iOS 5.1(即使我使用的是 Xcode 4.6.2)。我的应用程序支持所有方向。
我的问题是:我想在横向模式下限制一些视图,它在模拟器中运行良好,但是当我在 iPhone 5 设备上运行应用程序时,我的方法不起作用,请帮助我?
在您想要限制方向的视图控制器中,我将执行以下操作:
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return interfaceOrientation == UIInterfaceOrientationLandscape;
}
关于您的 iPhone 5 shouldAutorotateToInterfaceOrientation
,iOS6 已弃用,因此您将不得不进行操作系统检查并实施/覆盖supportedInterfaceOrientations
andpreferredInterfaceOrientationForPresentation
方法。
我在我的应用程序中使用它,它完美无缺!
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
当您只想查看纵向视图时,请使用以下命令:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return UIInterfaceOrientationIsPortrait(interfaceOrientation);
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}