我的项目有UITabbar、UınavigationBar和UIViewContoller。
-UITabbar
—UINavigationController
—UIViewController
问题:如何才能横向禁用一个viewController?我只想看人像,但只想看一个。
在iOS6 中禁用单个UIViewController上的自动旋转
将此添加到您的应用程序代理
- (NSUInteger) application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
if ([[window.rootViewController presentedViewController] isKindOfClass:[YourViewController class]])
return UIInterfaceOrientationMaskPortrait;
else
return UIInterfaceOrientationMaskAllButUpsideDown;
}
编辑2
我最近发现了这一点,它一直很适合我。将此代码添加到您的视图控制器中
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
在您的viewWillAppear
中添加
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
///Disable orientation changes
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
}