我正在开发一个ios应用程序,它必须同时适用于横向和纵向,除了一个视图外,应始终处于横向状态。所以,我有:
-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) || (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
如果我在横向模式下午餐,并进入此视图并旋转设备(iPad),则调用此方法并返回false,因此界面不会旋转,这是好事。
但如果我是肖像并进入此视图,则调用此方法并返回false,但方向不会更改。在此上下文中,如果我将设备旋转为横向,则该方法返回true并且界面正确旋转,如果我尝试再次旋转为纵向,则此方法返回false并且界面保持横向。
如何在第一次看到此视图时实现这一点,如果设备处于纵向状态,界面会更改为横向?
另外,我尝试了
- (NSUInteger)supportedInterfaceOrientations
但它永远不会被召唤。
提前致谢!
答案 0 :(得分:0)
shouldAutorotateToInterfaceOrientation:
在iOS 6.0中已弃用。改为覆盖supportedInterfaceOrientations
和preferredInterfaceOrientationForPresentation
方法。
来自preferredInterfaceOrientationForPresentation
如果您的视图控制器实现了此方法,那么在呈现时, 它的视图以首选方向显示(尽管可以在以后显示) 被旋转到另一个支持的旋转)。如果你没有实施 这种方法,系统使用电流呈现视图控制器 状态栏的方向。