自动旋转代码适用于iPhone但不适用于iPad

时间:2017-11-14 19:03:37

标签: ios iphone swift ipad autorotate

这是仅适用于iphone的代码。 我正在制作一个在两个设备上运行的通用应用程序,因此它是相同的应用程序。

**//Automatically rotates the view to landscape
    let orientation: UIDeviceOrientation = UIDevice.current.orientation
    //If landscape right the rotate right
    if orientation == UIDeviceOrientation.landscapeLeft
    {
        UIView.animate(withDuration: 0.5, animations:
            {
                () -> Void in
                let value = UIInterfaceOrientation.landscapeRight.rawValue
                UIDevice.current.setValue(value, forKey: "orientation")
        })


    }
    else
    {
        UIView.animate(withDuration: 0.5, animations:
            {
                () -> Void in
                let value = UIInterfaceOrientation.landscapeLeft.rawValue
                UIDevice.current.setValue(value, forKey: "orientation")
        })

    }**

1 个答案:

答案 0 :(得分:0)

这是您检查的一种可能性......

在项目设置中,在构建目标的“常规”选项卡下,可以在“部署信息”部分中选择"设备"选项(您可能已经拥有" Universal")。下面是设备方向选择。这里有一个有趣的功能。

如果在“设备”处于“通用”状态时检查某些方向,则仅将该设置应用于iPhone版本。如果将“设备”选项切换到iPad,则选项可能会有所不同。您需要做的是将选择切换到iPhone,应用您想要的方向,将其切换到iPad,再次应用方向,然后最终将设备设置为通用。

我有预感(未经过代码测试),如果您尝试应用此处不支持的方向,则代码将不执行任何操作。