我目前正在使用Unity3D,我需要了解如何确定Android和iOS的默认设备方向(横向或纵向)。通过代码实现这一目标的最佳方法是什么(我使用c#)?
感谢您的帮助!
但我似乎无法使代码工作(也许我错过了要导入的文件或其他东西)。此外,我还需要一种方法来使用iOS!
答案 0 :(得分:2)
对于Android,您可以使用getRotation:
int rotation = getWindowManager().getDefaultDisplay().getRotation();
switch (rotation) {
case 0:
return Surface.ROTATION_0;
case 90:
return Surface.ROTATION_90;
case 180:
return Surface.ROTATION_180;
case 270:
return Surface.ROTATION_270;`
对于iOS this可能会有所帮助:
UIInterfaceOrientation orientation =
[UIApplication sharedApplication].statusBarOrientation;
if(orientation == 0) //Default orientation
//UI is in Default (Portrait) -- this is really a just a failsafe.
else if(orientation == UIInterfaceOrientationPortrait)
//Do something if the orientation is in Portrait
else if(orientation == UIInterfaceOrientationLandscapeLeft)
// Do something if Left
else if(orientation == UIInterfaceOrientationLandscapeRight)
//Do something if right
此外,这个帖子有类似的答案:Determining the Orientation of the screen rather than the orientation of the device
答案 1 :(得分:0)
实际上找到了我自己需要的东西!
以下链接适用于所有感兴趣的人:https://gist.github.com/flarb/3252857
(我最近不需要iOS检查,因为我们的应用程序只支持平板电脑,而且我认为所有iOS设备上的默认方向是Portrait(可能是错误的))
干杯!