为什么我的观点仍然以景观呈现?

时间:2015-09-22 02:56:26

标签: ios swift uinavigationcontroller uiinterfaceorientation

我的视图由导航控制器控制,因此我将支持的方向设置为导航控制器,以显式纵向和纵向。 portraitUpSideDown,这是有效的,但如果前一个视图在调用视图时处于横向状态,它将呈现在横向并保持在横向,直到设备旋转..我该如何防止这种情况?

这是我的代码:

class EditProfileViewController: UIViewController, UINavigationControllerDelegate

override func viewDidLoad() {
        super.viewDidLoad()

        navigationController?.delegate = self
}

func navigationControllerSupportedInterfaceOrientations(navigationController: UINavigationController) -> UIInterfaceOrientationMask {

    return [UIInterfaceOrientationMask.Portrait, UIInterfaceOrientationMask.PortraitUpsideDown]
}

我认为上一行会将视图永久锁定为纵向,我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以在取消之前将您的方向改回肖像:

UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")

dismiss(animated: true) { _ in
    print("dismissed in Portrait mode")
}