Ios 强制视图控制器仅用于纵向

Ios 强制视图控制器仅用于纵向,ios,iphone,xcode,rotation,Ios,Iphone,Xcode,Rotation,在我的应用程序中,我试图强制视图控制器仅为纵向。我正在使用下面的代码,但实际上什么都没有发生。我仍然能够像在肖像画中一样看到风景画中的屏幕 我在项目设置中启用了横向(左/右)、纵向 我做错了什么 ViewController.m - (BOOL)shouldAutorotate { return NO; } - (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortra

在我的应用程序中,我试图强制视图控制器仅为纵向。我正在使用下面的代码,但实际上什么都没有发生。我仍然能够像在肖像画中一样看到风景画中的屏幕

我在项目设置中启用了横向(左/右)、纵向

我做错了什么

ViewController.m

- (BOOL)shouldAutorotate
{
    return NO;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

如果VC嵌入到导航或选项卡栏控制器中,则需要在该控制器上创建一个类别。这是一个允许导航控制器以各种方式旋转的示例:

#import "UINavigationController+RotationAll.h"

@implementation UINavigationController (RotationAll)

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskAll;
}

@end

您的视图控制器是否嵌入到另一个控制器中,如导航控制器或选项卡栏控制器?是的,它位于导航控制器中:)我希望一个控制器具有所有旋转可能性(视频),另一个控制器仅具有纵向。你能再解释一下你的代码吗?为什么进口会这样?为什么(Rotational)由实现采用这种导入方式是因为它是UINavigationController上的一个类别。Rotational只是类别名称。重要的是,这将覆盖UINavigationController接口方向。您可以在一个控制器上使用它,并将其更改为仅支持另一个控制器的肖像模式。哪些类别名称可用(例如?:)你要什么都行。看一看。