iOS7自动旋转视图

iOS7自动旋转视图,ios7,autorotate,Ios7,Autorotate,我的应用程序需要同时支持纵向和横向模式,只有纵向视图除外。我在论坛上发现,我必须对导航控制器进行子类化,然后使用SupportedInterfaceOrientations方法来处理它 但是,我的应用程序有不同的布局,有一个tabbar控制器作为rootview控制器,然后每个tabbar控制器都有自己的导航控制器。我还有一个登录视图,用于在rootview控制器上显示的应用程序中进行身份验证。现在的问题是我应该在哪里添加 - (BOOL)shouldAutorotate { return

我的应用程序需要同时支持纵向和横向模式,只有纵向视图除外。我在论坛上发现,我必须对导航控制器进行子类化,然后使用SupportedInterfaceOrientations方法来处理它

但是,我的应用程序有不同的布局,有一个tabbar控制器作为rootview控制器,然后每个tabbar控制器都有自己的导航控制器。我还有一个登录视图,用于在rootview控制器上显示的应用程序中进行身份验证。现在的问题是我应该在哪里添加

- (BOOL)shouldAutorotate
{
   return NO;
}

- (NSUInteger)supportedInterfaceOrientations
{
   return UIInterfaceOrientationMaskPortrait;
}  

此代码-在导航控制器或Tabbar控制器或AppDelegate中

除非该视图是登录视图,否则不应在任何地方添加该代码。iOS 7不支持具有特殊方向的选项卡栏控制器或导航控制器的单个子级

在iOS 7中,如果将代码放在登录视图中,这将适用于登录视图,因为它是呈现视图控制器,并且呈现视图控制器支持此配置


在iOS 8中,由于它一直处于种子状态,因此即使在登录视图中也不起作用

哪一种视图是仅为纵向视图的视图?这是登录视图吗?仅纵向视图的可能副本不是登录视图,而是来自选项卡栏的视图。你的意思是我不能在纵向模式下只有一个tabbar项,而在纵向和横向模式下都有其他tabbar项。我的意思是。例如,请参见我的回答:我所说的导航控制器同样适用于选项卡栏控制器。您所描述的内容仅在iOS 5及更早版本中可用。如果上述内容属实,如何创建例如仅横向视图应用程序。如果在Info.plist中指定受支持的设备方向,则无论是选项卡栏、导航栏还是模型视图,都应将其应用于所有视图。这是正确的。如果整个应用程序仅限于横向,则整个应用程序仅限于横向。但是如果一个视图出现在纵向视图中,你不能这样做:整个应用程序必须允许横向和纵向视图。在这种情况下,除了显示的视图之外,没有任何视图可以强制旋转。请读我指给你的答案。请看我在这里的完整解释: