启动屏幕中的 PDF 矢量图像,无法在设备上正确缩放

PDF vector image in Launch Screen, not scaling properly on device

我正在为我的启动屏幕使用故事板。我的启动屏幕中有一个 UIImageView 和一个 UILabel。对于 UIImageView 的图像,我使用的是位于 Assets.xcassets 中的 .pdf 图像。我的图像的默认大小是 25x25 像素,但由于它是矢量图像,它应该能够无限缩放。 UIImageView 具有约束条件(与超级视图的宽度相等,即设备屏幕,1:1 纵横比,以超级视图为中心)。 UIImageView 的内容模式为“Aspect fit”。该图像在故事板和模拟器中显示良好。它在真实设备上显示不理想:图像大小正确(适合屏幕宽度)但图像像素化。由于它在模拟器上运行良好(未像素化),我希望它在设备上也能正常运行。我知道其他人也有类似的问题,比如图像根本没有显示,重启设备或 Xcode 解决了这个问题,但对我来说不是这样。这就是为什么我认为我的问题有所不同,因为图像正在显示,只是像素化了。如果有帮助的话,我想明确指出我的矢量图像有不同的颜色。

我已经尝试过一些基本操作,例如:重启设备、重启 Xcode、清理构建文件夹、删除派生数据、从设备中删除应用程序。

这是我发现的一个解决方法:我使用图像编辑器手动将 pdf 图像的默认大小更改为更大的尺寸,例如 1000x1000 像素,然后我将图像添加回 Xcode。第一次图像根本没有出现,然后我关闭设备并重新启动它。我从 Xcode 再次构建 运行,现在它每次都有效。

它有效,但我对这个解决方法不太满意,所以如果有人想出更好的办法,我很感兴趣!

在代码中而不是故事板中设置图像名称。在模拟器和设备上测试,通过代码设置时工作正常。

imgVec.image = UIImage.init(named: "yourImageName")

Refer this answer