我正在使用Unity3D和Xcode开发通用应用程序。 iPhone版本非常完美,其定位是纵向。在人像模式下,启动画面很好。
现在,除了启动画面之外,iPad版本中的所有内容都能正常运行。 iPad版本仅处于横向模式,因此会创建启动画面,但是......在iPad上运行时,启动画面会在风景中开始正常,但在某些时候,它会跳转到纵向模式?我无法弄清楚为什么,并找到解决这个问题的方法。
有没有人遇到同样的问题或知道在哪里看?
希望得到帮助并提前感谢。
答案 0 :(得分:1)
Unity在加载第一个场景时第二次显示启动画面(在此之前,它是iOS显示启动图像)。查看XCode项目中的SplashScreen.mm,您将看到专门用于此的类。一旦设置了视图控制器和视图,就会从iPhone_View类调用ShowSplashScreen()方法。
在更新Unity版本(我认为是4.x更新之一)后,我遇到了类似的问题。我在我的XCode文件中进行了自定义(一些包括更改视图和覆盖splashscreen的东西)。因此,在构建Unity项目时,我总是只是“附加”到XCode。要解决这个问题,我必须删除现有的XCode项目,允许Unity从头开始创建一个新项目,然后手动移植我的自定义项。
答案 1 :(得分: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];
答案 2 :(得分:0)
对于遇到此问题的任何人,我通过在Info.plist中添加以下行来解决此问题:
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
</array>