ios - UIFont(name: UIFont.systemFont(ofSize: 10).fontName, size: 10)?.fontName == UIFont.systemFont(ofSize: 10).fontName 在 iOS13 中为 false
问题描述
我尝试使用系统字体的字体名称创建一个 UIFont 实例。
enum Font {
static var scaleFactor: CGFloat = 1.0
case system(_ size: CGFloat)
case systemBold(_ size: CGFloat)
var dynamic: UIFont {
switch self {
case let .system(size):
return UIFont(name: UIFont.systemFont(ofSize: 1).fontName, size: size * Font.scaleFactor)!
case let .systemBold(size):
return UIFont(name: UIFont.boldSystemFont(ofSize: 1).fontName, size: size * Font.scaleFactor)!
}
}
}
// UIFont.systemFont(ofSize: 10).fontName -> ".SFUI-Regular"
// but UIFont(name: UIFont.systemFont(ofSize: 10).fontName, size: 10)?.fontName -> "TimesNewRomanPSMT"
// and also UIFont(name: ".SFUI-Regular", size: 10)?.fontName -> "TimesNewRomanPSMT"
这样,我得到了另一种名为“TimesNewRomanPSMT”的字体,仅用于系统字体。我认为它在 iOS13 之前运行良好。我在 macOS 10.15 beta 上使用 Xcode 11.0
解决方案
推荐阅读
- c# - 重新启动我的应用程序后,ISharedPreferences 存储的字符串正在更新
- javascript - 如何在 .append() 函数中的 $.each 中添加 html 元素?
- x86 - How does a PCIe device appear bootable to the BIOS/UEFI?
- javascript - 我如何正确清除“setTimeout”JavaScript
- python - 用户注销 Django 时如何删除会话?
- python - 找到两个节点并在它们之间创建关系(python中的neo4j)
- postman - 如何将邮递员响应内容类型:- text/plain 存储到变量中?
- python - 删除文件中的第一个字符
- python - 将标题设置为简单的 Holoviews 图(python)
- php - 使用 Laravel 选择包含用户数据和附加信息的评论的最佳方法是什么?