自动旋转代码适用于 iPhone 但不适用于 iPad
Posted
技术标签:
【中文标题】自动旋转代码适用于 iPhone 但不适用于 iPad【英文标题】:Auto rotating code works on iPhone but not on iPad 【发布时间】:2017-11-14 19:03:37 【问题描述】:这是仅适用于 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】:这是您检查的一种可能性...
在项目的设置中,在构建目标的“常规”选项卡下,有“部署信息”部分,您可以在其中选择“设备”选项(您可能在“通用”中拥有该选项)。下面是设备方向选择。这里有一个,嗯,有趣的功能。
如果您在“设备”处于通用模式时检查某些方向,它只会将该设置应用于 iPhone 版本。如果您将设备选项切换到 iPad,选项可能会有所不同。您需要做的是将选择切换到 iPhone,在那里应用您想要的方向,将其切换到 iPad,再次应用方向,然后最后将设备设置为通用。
我有一种预感(未经您的代码测试),如果您尝试应用此处不支持的方向,您的代码将无能为力。
【讨论】:
以上是关于自动旋转代码适用于 iPhone 但不适用于 iPad的主要内容,如果未能解决你的问题,请参考以下文章
screenShot代码不适用于ipad,适用于iphone
Materialise Sidenav 不适用于 iOS 或 iPhone,但适用于所有其他设备