对于一个视图强制方向为纵向,对于另一个视图强制方向为纵向
Force orientation to be Portrait for one view and both for another
我的设计是这样的:Menu -> App -> Back to Menu
我希望我的菜单是 'Portrait ONLY'。我的 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 是同步的
我的设计是这样的:Menu -> App -> Back to Menu
我希望我的菜单是 'Portrait ONLY'。我的 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 是同步的