0

一直在玩 SF Symbols,它们也非常令人印象深刻。

但是,当我尝试在许多 SF 示例的代码中使用它们时,我想出了:

let image = UIImage(systemName: "hands.clap"). < init(systemName:) is only available in iOS 13.0 or newer

我是否需要像以前一样将图像复制到资产目录中?我要避免的是警告他们使用的每个实例,例如

if #available(iOS 13.0, *) {
            heartImage = UIImage(systemName: "heart.fill")!
        } else {
            heartImage = UIImage(named: "heart.jpeg")
 }

按照大多数说明复制和粘贴文件名。

我错过了什么?

4

1 回答 1

1

使用SFSymbols仅适用于 iOS 13,但某些特定符号也可以具有更高的部署版本(14 或 15)在您的应用程序目标“常规”选项卡中检查您的项目版本以及所需符号的最低部署。如果你想为较低的 iOS 使用符号,你应该if #available(iOS 13.0, *)像你提到的那样标记创建图像。如果您想为较低的 iOS 制作后备图像,您唯一的选择是使用UIImage(named: "heart.jpeg"). 您也可以手动导出符号并将其添加到资产目录,但请记住,您需要将其从 SVG 格式转换为其他格式,因为低于 13 版的 iOS 也不支持 SVG 保留矢量数据。导出符号

于 2022-03-02T12:26:15.103 回答