在这里阅读了 IOS 6 中处理屏幕旋转的所有方法、Apple 文档和激烈的谷歌搜索后,在使用 xibs 时我仍然坚持这一点。
我想要实现的是只有几个 iPad 的 xib,只有横向,其余的应用程序是纵向的。
如果我使用情节提要,我了解如何对导航控制器进行子类化以覆盖旋转,但我不是,我使用的是 xibs,并且希望任何输入它如何与 xibs 一起使用
在我的应用委托中:
ICHomeController *homeController = [[ICHomeController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:homeController];
navController.navigationBarHidden = YES;
navController.navigationBar.barStyle = UIBarStyleBlackOpaque;
navController.navigationBar.tintColor = [UIColor grayColor];
self.navigationController = navController;
[self.window setRootViewController:self.navigationController];
[self.window makeKeyAndVisible];
return YES;
除了在这里尝试似乎所有解决方案之外,我还在我的 vew 控制器中尝试了明显的方法,但据我所知,在 iOS 6 中它不会被调用。
// Older versions of iOS (deprecated)
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationLandscapeLeft;
}