1

我在 iOS8 中使用 xib 作为我的启动屏幕,有时它没有显示正确的启动屏幕(在 UIImageView 上是 3 个 UILabel),它显示为黑色。但不是每次。这我可以在模拟器和设备上重现。

如果我删除或隐藏底层 ImageView 似乎没有这个问题。

ImageView 中的图像是 242kb 的 .png 图像。

有什么想法吗?当然,如果必须,我可以只使用图像而不是 xib,但想知道这是否是已知问题或如何解决。

4

1 回答 1

2

在 iOS 模拟器中安装应用程序时会生成启动屏幕。我们可以在启动应用程序之前等待该过程完成,但我们改为让该生成在后台发生。如果图像在应用程序启动请求时尚未完成生成,则只会看到黑色。

这是 iOS 模拟器中已知(且已接受)的竞争条件。每次单击 Build&Run 时,在图像完成渲染之前一直阻塞会为启动序列添加少量延迟。如果您想调试启动屏幕,您可以退出应用程序(将其从应用程序切换器中删除)并手动重新启动它(而不是通过构建和运行)。

这个决定可能会在未来发生变化,但现在它会缩短您单击“构建并运行”和应用程序完成启动之间的时间。

于 2015-01-11T09:15:50.983 回答