我有一个9-10屏幕的应用程序.我UINavigationController在我的视图控制器中嵌入了一个.我有几个视图控制器,我想只设置纵向:这意味着旋转设备不应该将这些视图控制器旋转到横向模式.我尝试了以下解决方案:
第一:
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
Run Code Online (Sandbox Code Playgroud)
但屏幕仍然旋转到风景.
第二:
我创建了一个自定义视图控制器类,PortraitViewController并在下面添加了代码PortraitViewController.m
@interface PortraitViewController ()
@end
@implementation PortraitViewController
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
//Here check class name and then return type of orientation
return UIInterfaceOrientationMaskPortrait;
}
@end
Run Code Online (Sandbox Code Playgroud)
之后我实现PortraitViewController.h了基类
#import <UIKit/UIKit.h>
#import "PortraitViewController.h"
@interface Login : PortraitViewController
@end
Run Code Online (Sandbox Code Playgroud)
它根本不起作用,仍允许视图控制器以横向模式旋转.
有没有其他解决方案我使用iOS 8并且不希望viewcontroller在横向模式下旋转?
编辑: 是否可以仅为某些视图控制器设置横向方向,并强制其他视图控制器方向粘贴到纵向?