我希望能够使用iOS
获得view
应用程序UIInterfaceOrientation
的方向。
这与UIDevice.current.orientation
不同,因为它返回设备应如何旋转而不是实际旋转,并有可能返回unknown
。
我注意到UIInterfaceOrientation.portrait
,UIInterfaceOrientation.portraitUpsideDown
,UIInterfaceOrientation.landscapeLeft
和UIInterfaceOrientation.landscapeRight
,但是我不确定如何检测到它们。
我将需要这样做,以便User Interface
可以正确更新,当UIDevice.current.orientation
返回unknown
或不正确方向时,它将破坏UI。
答案 0 :(得分:1)
请在此处阅读文档:
https://developer.apple.com/documentation/uikit/uiinterfaceorientation
尤其是第一段内容:
从iOS 8开始,您应该使用UITraitCollection和UITraitEnvironment API,以及这些API中使用的size类属性,而不是使用UIInterfaceOrientation常量或以其他方式编写应用程序的界面方向。
通常来说,您的代码不应取决于设备的当前接口方向。相反,它应该依靠当前视图控制器的特征来处理方向更改。有关更多信息,请参见: