Swift如何引用不在情节提要的* .xcassets文件夹中的图像文件

Posted

技术标签:

【中文标题】Swift如何引用不在情节提要的* .xcassets文件夹中的图像文件【英文标题】:Swift how to reference an image file that is not in *.xcassets folder in storyboard 【发布时间】:2021-08-23 07:09:44 【问题描述】:

我试图在 LaunchScreen 中更新我的应用程序的图标,结果发现 UIImage 没有针对用户从旧版本更新到新版本的情况进行更新,我在网上搜索了一些解决方案,有一个建议我应该加载 *.xcassets 文件夹之外的图像文件,我知道如何将图像文件放入我的项目根目录,但我不知道如何将它加载到情节提要中,因为 LaunchScreen.storyboard 可以'没有视图控制器类

所以我的问题是:如何在情节提要中引用图像文件

这是源链接:http://arsenkin.com/launch_screen_image_cache.html

【问题讨论】:

如果你只是在你的项目中添加一个图像文件,你在属性检查器下看到了什么?如果您在属性检查器下看到该图像文件,则只需使用 UIImage(named:) 即可访问它。 【参考方案1】:

您不能在LaunchScreen.storyboard 中使用任何自定义行为。从除 *.xcassets 之外的任何地方加载图像是一种自定义行为。

通常你会使用类似的东西

let path = Bundle.main.path(forResource: "image", ofType: "imageType")
let image = UIImage(contentsOfFile: path!)

加载这样的图像,但正如我已经提到的,这种方法不适用于启动屏幕

【讨论】:

Bundle?使用UIImage(named:) 访问它。 @ElTomato UIImage(named:) 在您从资产目录加载图像时起作用。问题是指存储在项目某处的图像文件,例如项目根文件夹。 好的。我明白了。那么?

以上是关于Swift如何引用不在情节提要的* .xcassets文件夹中的图像文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift UI 中单击按钮时从 swift UI 导航到情节提要?

如何使用 swift 使用带有 spriteKit 的情节提要

Swift 5. 如何在按钮触摸时呈现或显示 ViewController?没有情节提要(以编程方式)

如何在情节提要 XCode6 (Swift) 中将所有视图控制器设置为风景

使用 Swift 在没有情节提要的情况下展开 segue

如何使用 Swift 中的自动生成键从情节提要中设置的 UITextView 中检索文本?