如何确保允许的唯一方向是纵向或上下纵向?
我在项目设置中进行了更改,但是我在GameViewController中进行更改时遇到了问题。
我需要对此功能进行更改:
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return .AllButUpsideDown
} else {
return .All
}
}
但是,“UIInterfaceOrientationMask”结构没有只允许纵向和倒置肖像的选项。
答案 0 :(得分:1)
您必须允许项目设置中的所有方向,然后只允许在viewController中使用纵向或上下纵向,但GameViewController
除外:
// BaseViewController
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return UIInterfaceOrientationMask.Portrait.rawValue | UIInterfaceOrientationMask.PortraitUpsideDown.rawValue
} else {
return .All
}
}
最后在GameViewController
:
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return .AllButUpsideDown
} else {
return .All
}
}
答案 1 :(得分:0)
您可能想尝试:
return (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown)
不确定Swift是否支持按位运算符。