我正在尝试从我的启动屏幕中获得一个图像来显示为启动屏幕。故事板文件,但图像从不显示。我有标签显示良好,但图像不出现。

这是启动屏幕在启动屏幕中的外观。故事板文件:

然而,当我在模拟器(以及物理设备)上运行应用程序时,显示如下:

如您所见,标签“Test”显示良好,但图像没有显示。我真的不知道为什么会发生这种情况,我尝试的任何方法似乎都不起作用。如果任何人有任何关于如何解决这个问题的想法,这将是非常感激的。


当前回答

在这个问题上加上我的0.02美元;我通过使用PNG图像而不是JPG/JPEG图像解决了这个问题。

在将图像转换为PNG并将其压缩以减小大小之后,一切都很正常。

其他回答

我尝试清理项目,删除png,删除约束,但对我来说没有用。

我只是做了一个图像的副本和重命名的副本,然后删除旧的图像,并添加了新的图像(相同,与名称更改),我只是给了那个图像,它为我工作。

我也没有使用资产。Xcassets,使用文件夹中的图像。

在我的案例中有两个问题解决了它:

似乎有1MB的图像大小限制;没有文档,但当我优化相同的图像从3MB到1MB以下,它工作。这是有意义的,因为操作系统希望启动屏幕尽可能轻。 操作系统确实积极缓存启动屏幕!为了看到我的启动屏幕变化,我必须每次重置模拟器:Device > Erase所有内容和设置

在我的例子中,我可以通过取消对Launchscreen故事板中使用的所有图像视图的属性检查器中的“清除图形上下文”来修复它。

为了你的信息,我已经在资产中导入了图像。PNG格式的Xcassets。

它发生在我身上,让我疯狂,让我失去了几分钟,直到我弄清楚。

就像之前说过的

导入想要的图像到你的Xcode项目(只需拖放它) 改变它的约束和对齐 更新框架解决自动布局问题 在属性检查器选项卡菜单(通常在右边的菜单xCode),在图像视图>图像,删除图像扩展名(.png或.jpg) -这是诀窍

在设计屏幕上,它不会出现,但当你运行应用程序时,它会显示出来。

希望能有所帮助!

I just figured this out. My launch image was not showing up, I get a white screen when launching on a device (iPhone 6, 7+) or testFlight. Fix: Renamed "Landing_screen.png" to just "Landing_screen" removing .png part. The image icon in Xcode changed to white icon and in the launch screen storyboard the image appears as a question mark now. The Launch image now appears and not the white screen. My Setup: I am using Swift 3.1 with Xcode 8.3.1. In LaunchScreen.storyboard I added a simple image view and stretched the image to fit the view controller. I set auto layout constraints Top/Bottom/Leading/Trailing space to superview to 0 - see image below: