我的第一个视图控制器是LoginViewController。我正在尝试在iOS 6上支持自动旋转管理。
我已经实现了shouldAutorotate而不是shouldAutorotateToInterfaceOrientation,如下所示:
-(BOOL)shouldAutorotate {
UIInterfaceOrientation toInterfaceOrientation = [[UIDevice currentDevice] orientation];
return [DeviceSupport isOrientationSupported:toInterfaceOrientation];
}
在应用程序启动时, shouldAutorotate
被调用五次。 toInterfaceOrientation值是按顺序而不改变ipad方向:0,0,0,4和4.首先,为什么app需要这么长时间才能在currentDevice中放置正确的方向?为什么要将Autorotate召唤五次?
当方向为4时,[DeviceSupport isOrientationSupported:toInterfaceOrientation]
返回true。但我的应用程序不会轮换。
在我的info.plist中:
Supported interface orientations
=> Item 0: Portrait (bottom home button)
=> Item 1: Portrait (top home button)
Supported interface orientations (iPad)
=> Item 0: Landscape (left home button)
=> Item 1: Landscape (right home button)
有什么想法吗?感谢。
答案 0 :(得分:3)
更改您的代码:
[self.window addSubview:aController.view];
到此代码:
self.window.rootViewController = aController;
还为方向支持添加以下方法
shouldAutorotate -return YES
supportedInterfaceOrientations-返回UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft;
答案 1 :(得分:0)
你能仔细检查一下你是否实现了supportedInterfaceOrientations吗?
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}