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