我希望我的应用中的一个 View 具有横向方向。我已经设法让 View 在手动旋转时保持在横向,但是如果设备已经是纵向的,则无论其支持的方向如何(使用 supportedInterfaceOrientations 方法设置),它都会保持纵向。有没有办法让 View 自动旋转?我试过了:
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
但这不起作用。
任何建议将不胜感激!
Best Answer-推荐答案 strong>
做到这一点的一种方法是重写 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/
|