UIButton 的系统图像出现在 iOS14 中,但未出现在 iOS13 中

System Image for UIButton appears in iOS14, but not in iOS13

我为 UIButtons 和标签栏设置了系统图像。这适用于 iOS 14,但在 iOS 13 上图像丢失。

系统映像在 iOS 13 上丢失的原因可能是什么?

详情:

我有一个按钮,其图像 属性 在故事板中设置为“square.and.arrow.up”。 (见下面的截图) 该图像出现在 iOS 14 上,但未出现在 iOS 13 上(请参见下面的屏幕截图。模拟器重叠)

选项卡栏项目也会出现类似的行为。 (见下面的其他截图)

Xcode 是 12.5,MacOS 11.2.3,iOS 模拟器 13.6 和 14.5。 这也发生在设备上,不仅在模拟器中。

SF Symbols App 声称该图标从 iOS 13+ 开始可用。

感谢任何帮助:-)

这似乎是一个错误。

✅ 将这个错误作为一个功能!

虽然这是一个错误,但始终对这些正在进行的事情有后备是一个很好的做法。

因此尝试导出符号(文件 -> 导出..)并将其作为资产导入资产目录。

请注意虽然Xcode支持导入符号,但您可以考虑使用单独的图标文件(如PDF)为旧iOS 设备。


除了更可靠之外,它还会为您的项目带来一些其他好处

1。向后兼容性

由于它使用了捆绑包中的嵌入资源,因此即使在 iOS 12 及以下版本中也可以使用它们。

2。向前兼容!

SF Symbols.app 的所有版本都已作为 beta 应用程序发布,Apple 正在不断更改惯例和规则以及创建和使用这些符号的其他方面。

例如,看看这个命名约定:

如您所见,该交易品种的名称由iOS15 更改而来,以后旧代码将不再显示!

3。更广泛的支持

您可以在不直接支持使用符号的地方使用这些导出的符号(例如早期版本不支持的 UIApplicationShortcutItem)

总结一下:

因此,始终备份符号并在出现问题时回退到它们是一个不错的选择...