有没有办法为 SF 符号使用不同于当前语言环境的特定语言环境?
Is there a way to use a specific locale for a SF Symbol which is different from the current locale?
我有一个支持英语和日语语言环境的应用程序。在那里,我正在创建一个 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
来实现这个?
似乎为 SF 符号强制使用特定语言的唯一方法是附加语言代码,因此在 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 Symbols 时,您可能不走运。我会采用 Joakim Danielson 的方法并尝试导出默认图标。
如果有人想为英语以外的任何语言环境执行此操作,那么 将是更好的选择。
对于语言环境英语,正如@JoakimDanielson 在评论中建议的那样,我通过下载 SF Symbols 应用程序并将所需的 SF Symbol
导出为 custom 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
我有一个支持英语和日语语言环境的应用程序。在那里,我正在创建一个 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
来实现这个?
似乎为 SF 符号强制使用特定语言的唯一方法是附加语言代码,因此在 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 Symbols 时,您可能不走运。我会采用 Joakim Danielson 的方法并尝试导出默认图标。
如果有人想为英语以外的任何语言环境执行此操作,那么
对于语言环境英语,正如@JoakimDanielson 在评论中建议的那样,我通过下载 SF Symbols 应用程序并将所需的 SF Symbol
导出为 custom 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