Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将设备方向替换为接口方向_Ios_Swift_Xcode - Fatal编程技术网

Ios 将设备方向替换为接口方向

Ios 将设备方向替换为接口方向,ios,swift,xcode,Ios,Swift,Xcode,我一直在用这个来改变方向 if (UIDevice.current.orientation == UIDeviceOrientation.portrait) 如何用上述语法中的UIInterfaceOrientation.patrait替换此选项。这是因为UIDeviceOrientation具有faceup和facedown,这对我没有任何用处。您可以用下面的行替换它 if (UIApplication.shared.statusBarOrientation == UIInterface

我一直在用这个来改变方向

  if (UIDevice.current.orientation == UIDeviceOrientation.portrait)

如何用上述语法中的
UIInterfaceOrientation.patrait
替换此选项。这是因为
UIDeviceOrientation
具有
faceup
facedown
,这对我没有任何用处。

您可以用下面的行替换它

if (UIApplication.shared.statusBarOrientation == UIInterfaceOrientation.portrait)

Trungduc的答案会起作用,但正如苹果公司在:

从iOS 8开始,您应该使用UIRaitCollection和UIRaitEnvironment API,以及这些API中使用的大小类属性,而不是使用UIInterfaceOrientation常量或以其他方式根据接口方向编写应用程序

编辑:如果您不想进入UITraitCollection为您提供的灵活性,您可以保留您的方法,但可以简化它:

if (UIDevice.current.orientation.isPortrait) {
}

那么语法是什么,这不是不推荐的?@Terje你是个很好的人,请不要复制另一个答案;)。祝你好运希望你的答案能被标记为这个问题的正确答案。你能用我的语法解释一下UITraitCollection的灵活性吗?就你的语法而言,你不需要UITraitCollection。如果你不了解你的应用程序,我真的无法发表评论,但是如果你在谷歌上搜索的话,有一些很好的UITraitCollection博客介绍。我认为苹果想表达的观点是,现在我们开始有许多不同的屏幕尺寸和设备,不一定只是从纵向和横向角度来考虑,而是在更细粒度的层面上调整您的界面。感谢您的解释,我会仔细研究。我有一个答案,它是不推荐的,那么,我应该保持语法不变吗?@Coder221让我们试试,你就会知道你是否应该使用它;)@代码221由你决定。但让我们看看你的问题,你问我如何用上面语法中的UIInterfaceOrientation.grait替换它;)我确信,如果您使用我的代码,您的应用程序不会有任何问题。是的,这是我的问题,也许我应该问另一个关于它的问题。@Coder221在提出新问题之前,让我们先调查一下。我想你可以自己找出答案;)