如何从代码中分别为每个视图控制器阻止横向位置?
How to block landscape position from code, separetly for each view controller?
我知道我可以在目标菜单中 select 我的应用程序的可用方向,但我想阻止每个屏幕的横向方向,YouTube 播放器除外。
我想这不能通过应用程序委托来完成,因为它不区分控制器并将规则应用于整个应用程序。
我怀疑也许有一种方法可以通过 sharedApplication() 来做到这一点,但不知道如何去做。
你知道这样的事情是怎么做到的吗?
在每个 VC 中使用此 override func
要阻止 .LandscapeLeft
和 .LandscapeRight
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.Portrait.rawValue) | Int(UIInterfaceOrientationMask.PortraitUpsideDown.rawValue)
}
将此添加到您希望设置为仅纵向的 UIViewController class。
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.Portrait.rawValue)
}
只要您没有更改目标中的任何设置,其他没有更改的屏幕应该能够正确旋转。
我知道我可以在目标菜单中 select 我的应用程序的可用方向,但我想阻止每个屏幕的横向方向,YouTube 播放器除外。
我想这不能通过应用程序委托来完成,因为它不区分控制器并将规则应用于整个应用程序。
我怀疑也许有一种方法可以通过 sharedApplication() 来做到这一点,但不知道如何去做。
你知道这样的事情是怎么做到的吗?
在每个 VC 中使用此 override func
要阻止 .LandscapeLeft
和 .LandscapeRight
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.Portrait.rawValue) | Int(UIInterfaceOrientationMask.PortraitUpsideDown.rawValue)
}
将此添加到您希望设置为仅纵向的 UIViewController class。
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.Portrait.rawValue)
}
只要您没有更改目标中的任何设置,其他没有更改的屏幕应该能够正确旋转。