我正在尝试从我的启动屏幕中获得一个图像来显示为启动屏幕。故事板文件,但图像从不显示。我有标签显示良好,但图像不出现。
这是启动屏幕在启动屏幕中的外观。故事板文件:
然而,当我在模拟器(以及物理设备)上运行应用程序时,显示如下:
如您所见,标签“Test”显示良好,但图像没有显示。我真的不知道为什么会发生这种情况,我尝试的任何方法似乎都不起作用。如果任何人有任何关于如何解决这个问题的想法,这将是非常感激的。
我正在尝试从我的启动屏幕中获得一个图像来显示为启动屏幕。故事板文件,但图像从不显示。我有标签显示良好,但图像不出现。
这是启动屏幕在启动屏幕中的外观。故事板文件:
然而,当我在模拟器(以及物理设备)上运行应用程序时,显示如下:
如您所见,标签“Test”显示良好,但图像没有显示。我真的不知道为什么会发生这种情况,我尝试的任何方法似乎都不起作用。如果任何人有任何关于如何解决这个问题的想法,这将是非常感激的。
当前回答
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:
其他回答
最后,重启电话对我有用!!
我在这个问题上花了好几个小时。尝试过更改图像名称,删除整个图像资产,修改信息。plist,重新启动Xcode,甚至试图设置所有的图像属性(你可以看出我是多么绝望)。
在我的案例中有两个问题解决了它:
似乎有1MB的图像大小限制;没有文档,但当我优化相同的图像从3MB到1MB以下,它工作。这是有意义的,因为操作系统希望启动屏幕尽可能轻。 操作系统确实积极缓存启动屏幕!为了看到我的启动屏幕变化,我必须每次重置模拟器:Device > Erase所有内容和设置
当使用launch-storyboard显示启动画面时,我也遇到了同样的问题,经过研究,我发现我在launch-storyboard中设置的图像大小不同,我设置的图像视图比图像的实际大小更大。
所以我找到的解决方案是设置图像-视图内容大小为方面适合或设置图像-视图大小为图像大小。
比如,如果你的图像@1x的大小是200X200,那么图像视图应该是200X200,那么你就可以解决这个问题。
因为如果你设置图像视图的大小大于图像,那么图像将被上浆,这是不允许的。
如果你还有任何疑问,请在这里评论并询问
实际上,对于一些重量级图像,将它们添加到图像中并不是一个好情况。Xcassets,因为应用程序加载图像。Xcassets轻量级图像在发布前。所以我把启动画面图像放在加载的第一个根,然后问题就消失了:
在项目的根目录中创建一个新的Group 拖放你的图像在黄色组文件夹内 将其重命名为不同的特殊名称 回到xib(或storyboard)文件,并将ImageView定位为步骤3中的特殊名称。 清理和重建,然后你可以看到你的形象。
提示:您可以在图像中创建您的ImageSet。Xcassets但是把它们放在项目的根目录中。
在我的例子中,启动画面适用于模拟器和其他设备,但不适用于某一特定设备。这让我相信这是xcode (v10和iPhone 7 v12.1)保存的一些缓存数据。
我在~/Library/Developer/Xcode/DerivedData/删除了派生数据,只清空文件夹内容,而不是删除文件夹。然后我重启了mac和iPhone,清理并重建了这个项目,现在它出现了。
我不确定所有这些是否都是必要的,但我不想浪费更多的时间来缩小范围,所以上面的大锤方法对我来说很有效。当然,这总是取决于你的具体情况——我的是特定设备;对于其他人来说,它可能是实际的图像或启动屏幕布局等。