UIImageView 在启动屏幕上是黑色的

Posted

技术标签:

【中文标题】UIImageView 在启动屏幕上是黑色的【英文标题】:UIImageView is black on launch screen 【发布时间】:2015-12-02 12:09:49 【问题描述】:

我有时会在启动屏幕上遇到一个非常奇怪的问题。我正在使用一个带有 UIImageView 的 xib 文件,但有时图像只是一个黑色矩形。

我尝试在 .jpg 和 .png 文件之间切换,但这没有帮助,我还为其分配了不同的图像属性配置文件。

这发生在运行 ios 9 的设备上。

这些是UIImageView 的约束条件。我已经删除了图片,因为它是客户的徽标。

【问题讨论】:

你能发布启动屏幕截图吗? 您是否对UIImageView 应用了任何约束。 @NimitParekh 请查看更新后的问题 你想要全屏图像吗? 不,图像在正确的位置,只是图像没有显示出来,而是一个黑色的矩形。 【参考方案1】:

我也有同样的问题。 我试过了:

将 .png 文件移动到 Images.xcassets。失败。 创建一个新的 LaunchFile.storyboard。失败。 重命名 .png 文件。工作一段时间,但在你执行之后 Build&Run action(与 Run without building action 相同)几次, 问题再次出现。很奇怪。(有时你需要重新打开 Xcode 重现问题) 在新项目中测试相同的 LaunchFile.storyboard。启动文件 在新项目中正确显示,我很困惑。

最后,我找到了一种不仅适用于临时的方法(我已经测试了一个小时,只需重复构建和运行大约 100 次,同时看电视)。

这个问题在某种程度上与 .png 图像有关。我将我的 .png 文件拖到 photoshop,然后转到 File > Save for web(Command + Option + Shift + S),确保未选中透明度,导出一个新的 .png 文件。用新文件替换旧文件,您会发现问题已解决。

但我仍然很困惑为什么发布的 .png 文件可以工作一段时间。

【讨论】:

【参考方案2】:

我在某些设备上不时出现同样的问题。最后一件事是完全重启设备。

【讨论】:

【参考方案3】:

不确定最初的问题到底是什么,但我通过手动生成旧版启动画面来修复它。

一个可能有用的调试问题是,它在更新构建时(即使应用程序被删除)仍然存在,直到我删除应用程序并关闭设备。我猜闪屏正在被缓存,所以这会清除缓存。我希望这可以帮助一些人节省一些时间,如果有人知道为什么会这样,我仍然很乐意知道。

【讨论】:

以上是关于UIImageView 在启动屏幕上是黑色的的主要内容,如果未能解决你的问题,请参考以下文章

UIImageView在设备上的启动屏幕中丢失图像

在 UIImageview 上覆盖 UIImageview 保存

iOS 9黑色启动屏幕[关闭]

UIImageView 没有动画

UIImageView 没有出现在 LaunchScreen.xib 中

将 UIimageView 放在前面