我正在更新我的 PhoneGap iOS 应用程序以使其与 iPhone 5 兼容。
我在应用初始化后手动隐藏启动画面。
模拟 iPhone 5 时:当应用程序启动时,它会显示正确的启动画面 (Default-568h@2x.png)(此处称为“the 5”),但会迅速隐藏它并显示 iPhone 4 启动画面(此处称为“the 4”)。 4 没有覆盖整个应用程序,因此显示了应用程序初始化的顶部和底部栏。
我不完全确定它是如何工作的,但我可以想到两种可能的情况: 1) 两个图像同时显示,但由于某种原因,5 个自动隐藏,而 4 个等待应用程序调用隐藏。 2) 在某些时候,当禁用手动隐藏启动画面时,phonegap 会切换为“假”启动画面,直到从应用程序调用 javascript 时,phonegap 才可能不会显示正确的启动画面。
有没有其他人遇到过和/或解决过这个问题?
更新: 尝试再次删除和添加所有启动图像但无济于事。我尝试删除较小的图像(4 及其非视网膜版本),但即使项目中任何地方都没有较小的图像,我也会遇到同样的错误!
更新 2: Cordova 2.2.0 现已发布,因此根据以下内容修复了此问题:http://shazronatadobe.wordpress.com/2012/10/27/whats-new-in-cordova-ios-2-2-0/
因此,建议的解决方案是更新您的应用以使用 Cordova 2.2.0,如果由于某种原因无法做到这一点,下面提供了解决方案。
最佳答案
我在其他地方收到了两个答案,但还没有时间测试它们: From user T123 in the Phonegap Google Group : 打开 CDVViewController.m -- 找到 - (void) showSplashScreen
换行:690
来自:
else // not iPad
{
orientedLaunchImageFile = launchImageFile;
}
收件人:
else // not iPad
{
orientedLaunchImageFile = launchImageFile;
/* Edited for 4-inch IP5 */
if(screenBounds.size.height == 568)
orientedLaunchImageFile = [NSString stringWithFormat:@"%@-568h", launchImageFile];
}
来自上面评论的 Brion,以下拉取请求希望合并到 Cordova 2.2.0 中:https://github.com/apache/incubator-cordova-ios/pull/50
编辑:尝试过 T123 的解决方案,它对我有用! EDIT2:Brion 的修复已合并到现已发布的 Cordova 2.2.0 中!
EDIT3:只是更新以突出显示那些不想阅读它们的评论:
对于 Phonegap 1.4.1 版,我设法让 Hessius 的修复程序像这样工作:我从文件 PGViewController.m 到我的 MainViewController.m 文件。之后,XCode 提示我正在为只读属性赋值,因此我编辑了 PhoneGap.framework 中的头文件,使这两个属性可读写。我还将 launchImageFile 从 Hessius 的代码更改为 @"Default"。这对我有用。 – Joe Dyndale 12 年 10 月 8 日 15:23
关于iPhone 5 闪屏显示不正确 - Phonegap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12450603/