在iOS中锁定一个视图方向

时间:2016-02-12 14:18:04

标签: ios swift uiinterfaceorientation uideviceorientation

我正在尝试以纵向模式锁定我的应用的一个视图。我有一个顶部导航控制器视图和多个嵌套场景。

我找到了锁定方向问题的许多答案,并尝试了下面的代码,但它只能部分工作。让场景A和B,其中A具有segue到B,并且B以纵向锁定。如果我转到B场景,将设备转到横向位置并返回到A,则方向将从之前的B(肖像)继承。

如何让A场景识别实际的设备方向?

导航控制器

internal override func shouldAutorotate() -> Bool {
    return visibleViewController!.shouldAutorotate()
}

“B”查看控制器

override func shouldAutorotate() -> Bool {
    if UIDevice.currentDevice().orientation == .Portrait {
        return true
    }
    return false
}

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

override func viewDidLoad() {
    super.viewDidLoad()
    let orientation = UIInterfaceOrientation.Portrait.rawValue
    UIDevice.currentDevice().setValue(orientation, forKey: "orientation")
}

1 个答案:

答案 0 :(得分:0)

据我了解您的问题,您想知道如何获取当前的设备方向。

试试这个......

var orientation = UIDevice.currentDevice().orientation