【问题标题】:LandScape Orientation issue with iOS 8 in UnityUnity 中 iOS 8 的景观方向问题
【发布时间】:2014-09-27 06:34:04
【问题描述】:

我在 Unity 4.5.0 中使用横向模式制作游戏。但我在使用 ios 8 构建 iphone 时遇到屏幕方向问题。

当我的设备设置为横向时,我的游戏没有以横向模式打开。

我已经在播放器设置中设置了所有设置。

在 xcode 6.0 中,我还设置了方向。

然后我的游戏也没有以横向模式打开。可能是什么问题? 我没有找到任何解决方案。

请大家帮我解决这个错误。谢谢。

编辑:

我将默认方向更改为“自动旋转”,因为我选择了横向左侧。我得到的结果是这样的:

【问题讨论】:

  • 我有同样的事情。当我重新生成 xcode 项目时,它已修复。
  • @Rudolfwm 嗯。但我仍然面临同样的问题。实际上我正在使用 Google Admob 广告..它会造成问题吗?
  • 我正在使用 Unity 4.5.4f1。我知道这之前有问题。我没有使用 google admod 广告的经验,抱歉。
  • 顺便说一句:我有以下播放器设置:自动旋转,然后选择横向右/横向左。
  • 我认为 xcode6 有问题。您尝试使用较低版本的 xcode 构建。这将解决你的问题。 @skyman

标签: unity3d ios8 xcode6 landscape screen-orientation


【解决方案1】:

我遇到了同样的问题,来到这里并没有帮助。我找到了解决方案,我在这里发帖以防其他人遇到同样的问题。

这是 Unity3D v4.5.3 或更低版本的问题,除非你有这个补丁: http://forum.unity3d.com/threads/unity-patch-releases.246198/#post-1734940

其中一个修复是: (无)- iOS:修复了 iOS8 上的启动方向处理。

所以,这回答了像我一样来到这里的其他人的问题。

简而言之:只需下载最新版本即可。 (今天的 v4.5.5),迁移您的项目,使用构建(而不是构建和运行)并进行测试。

希望它可以帮助其他人。

【讨论】:

    【解决方案2】:

    转到 iPhone_OrientationSupport.mm 文件并删除“return screenRect;”来自 ContentRectForOrientation 方法。第 18 行

    CGRect ContentRectForOrientation(ScreenOrientation orient)
       {
         CGRect screenRect = [[UIScreen mainScreen] bounds];
          switch(orient)
            {
             case portrait:
             case portraitUpsideDown:
             case landscapeLeft:
             case landscapeRight:
            return CGRectMake(screenRect.origin.y, screenRect.origin.x,    screenRect.size.height, screenRect.size.width);
        default:
            return screenRect;
           }
      return screenRect;
    }
    

    【讨论】:

      猜你喜欢
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多