我的iPad横屏启动画面跳转到竖屏模式。

3
我正在使用Unity3D和Xcode开发通用应用程序。iPhone版本完美运行,并且其方向为纵向。启动画面在横向模式下也能正常显示。
现在,除了启动画面之外,我的iPad版本也运行良好。iPad版本仅适用于横向模式,因此会创建启动画面,但是当在iPad上运行它时,启动画面在横向模式下开始正常显示,但在某些时刻,它跳转到了纵向模式?我无法弄清楚其中原因并找到解决方法。
有人遇到过相同的问题或知道该去哪里查看吗?
希望得到帮助,提前致谢。

1
你能贴一些相关的代码吗?编辑:如果你能贴出你正在尝试的硬件和软件(iPad版本和iOS版本),那也会很有帮助。 - Jules
你看过这个吗?https://dev59.com/N3A75IYBdhLWcg3wGU-I - krisgo
我正在尝试在iPhone 4s、5和iPad 2上进行此操作。编辑:当这个操作进行时,似乎会出现跳跃:-> 强制加速度计注册。 - Mansa
再一次地...移除了加速度计但情况仍然如故。这是跳转前的最后一条信息: ->applicationDidBecomeActive()。 - Mansa
3个回答

1
Unity在加载第一个场景之前(在此之前,是iOS显示闪屏图像),会再次显示闪屏界面。在XCode项目中查看SplashScreen.mm,您将看到一个专门处理这个问题的类。一旦视图控制器和视图设置完成,iPhone_View类将调用ShowSplashScreen()方法。

我在更新Unity版本后(我想是4.x之一),遇到了与您类似的问题。我在XCode文件中进行了自定义设置(包括更改视图和覆盖闪屏屏幕内容)。因此,我总是在构建Unity项目时“追加”到XCode上。为了解决这个问题,我不得不删除现有的XCode项目,允许Unity从头开始创建一个新的项目,然后手动移植我的自定义设置。


0

使用此代码在主窗口显示启动画面... 这将把图像旋转成横向模式

  splash = [[UIImageView alloc] initWithFrame:CGRectMake(0,0, self.window.frame.size.height+255, self.window.frame.size.width)];
  splash.transform = CGAffineTransformMakeRotation(270* M_PI / 180.0);


  splash.image = [UIImage imageNamed:@"final"];
  [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft animated:NO];
  [self.window addSubview:splash];
  [self.window makeKeyAndVisible];

0

对于任何遇到此问题的人,我通过在Info.plist中添加以下行来解决了这个问题:

<key>UISupportedInterfaceOrientations~ipad</key>
<array>
    <string>UIInterfaceOrientationLandscapeRight</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
</array>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接