执行此命令时:
let l = UILabel()
let f = l.font!
let f8 = UIFont(name: f.fontName, size: f.pointSize + 8)!
NSLog("\(f.fontName)")
NSLog("\(f8.fontName)")
日志输出:
.SFUI-Regular
TimesNewRomanPSMT
当我要求相同的字体但稍大一些时,为什么不再有旧金山的变体了?这是iOS中的错误吗?
当我做
let f8 = f.withSize(f.pointSize + 8)
相反,我确实获得了.SFUI-Regular。
最佳答案
使用f.familyName
而不是f.fontName
姓:https://developer.apple.com/documentation/uikit/uifont/1619033-familyname
字体名称:https://developer.apple.com/documentation/uikit/uifont/1619024-fontname
另外,init(name:size)
中的fontName必须包含全名,包括familyName:https://developer.apple.com/documentation/uikit/uifont/1619041-init
关于ios - 要求使用不同大小的旧金山字体会在iOS 13.1上返回Times New Roman变体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59105193/