5

我有一个支持英语和日语语言环境的应用程序。在那里,我正在创建一个button并为其设置一个UIImage,它使用一个SF Symbol.

let image = UIImage(systemName: "textbox")!.withConfiguration(UIImage.SymbolConfiguration(pointSize: 30, weight: .regular))
button.setImage(image, for: .normal)

现在对于英语和日语语言环境,按钮如下所示。 在此处输入图像描述

我需要停止为这个特定的图像进行本地化button。对于这两种语言环境,我希望SF Symbol现在出现英语以显示在button. 有没有办法做到这一点SF Symbols

4

2 回答 2

2

如果有人想为除英语以外的任何语言环境执行此操作,那么来自@wakel 的答案将是更好的选择。

对于语言环境英语,正如@JoakimDanielson 在评论中建议的那样,我通过下载 SF Symbols 应用程序并将所需的导出SF Symbolcustom symbol template

SF Symbols 应用程序 -> 文件 -> 导出自定义符号模板

这个自定义符号默认没有任何语言环境,可以添加到Assets项目中。添加后,您可以将其用作您添加的任何其他图像资产UIImage(named:)

let image = UIImage(named: "textbox")!.withConfiguration(UIImage.SymbolConfiguration(pointSize: 30, weight: .regular))
button.setImage(image, for: .normal)

从 SF Symbols 应用程序导出符号的官方 Apple 文档在这里 https://developer.apple.com/documentation/uikit/uiimage/creating_custom_symbol_images_for_your_app

于 2021-09-01T08:15:56.493 回答
1

似乎为 SF Symbol 强制使用特定语言的唯一方法是附加语言代码,因此在以下情况下textbox

UIImage(systemName: "textbox")
UIImage(systemName: "textbox.ar")
UIImage(systemName: "textbox.he")
UIImage(systemName: "textbox.hi")
UIImage(systemName: "textbox.ja")
UIImage(systemName: "textbox.ko")
UIImage(systemName: "textbox.th")
UIImage(systemName: "textbox.zh")
UIImage(systemName: "textbox.zh.traditional")

但是,这不允许您强制使用英文版本,而只能强制使用非英文版本。通过 Apple 的 API 加载 SF 符号时,您可能不走运。我会采用 Joakim Danielson 的方法并尝试导出默认图标。

于 2021-08-31T14:22:53.140 回答