强制设备定位错误

时间:2019-04-19 11:03:44

标签: ios swift device-orientation

我正在开发仅具有一个视图控制器和固定方向(人像)的IOS应用。但是,如果用户要阅读手册,则设备会自动变为横向模式。我的实现通常可以正常工作,但是我在那发现了一个错误:如果我进入横向模式(使用用户手册菜单点),然后将设备转回纵向模式,然后回到菜单,则UI会出现问题:

Imgur Imgur

appDelegate.swift中,我输入了以下代码:

    var deviceOrientation = UIInterfaceOrientationMask.portrait
    func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
        return deviceOrientation
    }

ViewController.swift中,我使用以下方法在定向模式之间进行切换:

    func landscapeMode() {
        appDelegate.deviceOrientation = .landscapeLeft
        let value = UIInterfaceOrientation.landscapeLeft.rawValue
        UIDevice.current.setValue(value, forKey: "orientation")
    }

    func portraitMode() {
        appDelegate.deviceOrientation = .portrait
        let value = UIInterfaceOrientation.portrait.rawValue
        UIDevice.current.setValue(value, forKey: "orientation")
    }

我希望无论当前设备的方向如何,方向都会改变,但是在设备在进行方向(软件)操作之前先进行定向的情况下,目前尚无法正常工作。

0 个答案:

没有答案