Ios 强制一个视图的方向为纵向,另一个视图的方向为纵向

Ios 强制一个视图的方向为纵向,另一个视图的方向为纵向,ios,swift,uiinterfaceorientation,Ios,Swift,Uiinterfaceorientation,我的设计如下:菜单->应用->返回菜单 我希望我的菜单是“仅限肖像”。我的AppView可以是纵向和横向 目前在我的MenuController中,我有: override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { return .Portrait } override func shouldAutorotate() -> Bool { return false }

我的设计如下:菜单->应用->返回菜单

我希望我的菜单是“仅限肖像”。我的AppView可以是纵向和横向

目前在我的MenuController中,我有:

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return .Portrait
}

override func shouldAutorotate() -> Bool {
    return false
}
在我的AppView控制器中,我有:

override func shouldAutorotate() -> Bool {
    return true
}

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return UIInterfaceOrientationMask.All
}

然而,我的主菜单正在向各个方向旋转。我有什么遗漏吗?谢谢

是的,您还需要在plist中更改它。您可以更改项目目标中的属性。转到目标,在常规选项卡中转到部署信息->设备方向。。。。。。 此外,您需要将UINavigationController子类化并覆盖它:

-(NSUInteger)suppoertedInterfaceOrientations
{
return self.topViewController.supportedInterfaceOrientations;
}

这将确保通过导航显示的viewController处于syn中。是的,您还需要在plist中更改它。您可以更改项目目标中的属性。转到目标,在常规选项卡中转到部署信息->设备方向。。。。。。 此外,您需要将UINavigationController子类化并覆盖它:

-(NSUInteger)suppoertedInterfaceOrientations
{
return self.topViewController.supportedInterfaceOrientations;
}

这将确保导航显示的viewController处于syn状态,谢谢您的快速回答。我希望一个视图是强制纵向的,另一个视图支持两个方向。如果我照你说的做,我会从某些方向禁用整个应用程序(这不是我想做的)你在做什么?一个UiViewController对吗?告诉视图层次结构一点。我的菜单和应用程序都是UIViewController。但是,它们被嵌入到UINavigationController中,这样我就可以从一个菜单切换到另一个应用,然后关闭应用返回菜单。嘿,谢谢你的快速回答。我希望一个视图是强制纵向的,另一个视图支持两个方向。如果我照你说的做,我会从某些方向禁用整个应用程序(这不是我想做的)你在做什么?一个UiViewController对吗?告诉视图层次结构一点。我的菜单和应用程序都是UIViewController。然而,它们被嵌入到UINavigationController中,这样我就可以从一个菜单切换到另一个应用程序,然后关闭应用程序返回菜单。