为什么从 Nib 加载的 UITextField 的默认字体太小?

Why is the default font size of UITextField loaded from Nib is too small?

我创建了一个 SwiftUI 项目来测试文本字段的字体大小(来自 SwiftUI、UITextField 和从 nib 加载的 UITextField)。我注意到,从 nib 加载的 UITextField 的默认字体大小不一致。

我已经将代码上传到 github link。 https://github.com/felixmariaa/TestFontSize

这是显示 SwiftUI 中默认字体大小的屏幕截图 - 从 nib 加载的 TextField、UITextField 和 UITextField。

知道为什么从 nib 加载的 UITextField 的字体大小太小而且不一致吗?

在 iOS 版本中,您当前是 运行(在 iPhone 11 Pro Max 上,我假设类似于 iOS13) 默认值以编程方式创建的 UITextField 的字体是字体系列 SanFrancisco,大小为 17.0(您可以在创建 UITextField 时以编程方式更改它)。

同时 Interface Builder 基于 UITextField 的默认字体,目前在 Xcode 中也是 SanFrancisco,但大小为 14.0(您可以从 Interface Builder 更改它> 属性检查器 > 字体)。

这就是我们目前使用的工具的行为方式。

您可以直接从关于排版的 Apple 文档中找到更多关于我在此处陈述的内容:https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/typography/ 您可以在其中阅读有关 iOS 和 Xcode 的默认字体。