我希望我的应用中的一个 View 具有横向方向。我已经设法让 View 在手动旋转时保持在横向,但是如果设备已经是纵向的,则无论其支持的方向如何(使用 supportedInterfaceOrientations
方法设置),它都会保持纵向。有没有办法让 View 自动旋转?我试过了:
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
但这不起作用。
任何建议将不胜感激!
做到这一点的一种方法是重写 preferredInterfaceOrientationForPresentation
但为了调用它,必须呈现(如在模态中)而不是如前所述推送here :
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
NSLog(@" preferred called");
return UIInterfaceOrientationPortrait;
}
为了在 UINavigationController 中展示您的 viewController,请使用:
UINavigationController *presentedNavController = [[UINavigationController alloc] initWithRootViewController:protraitViewController];
[self presentViewController:presentedNavController animated:YES completion:nil];
要使 UINavigationController 尊重您当前 viewController 的方向偏好,请使用这个简单的 category而不是子类化。
另外,这个 part阅读 Apple 的文档有助于更好地理解 iOS 方向处理。
关于iphone - 强制横向 iOS 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16132965/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |