我在故事板中有一个UITextField,其中System Ultralight字体大小为70.标签有一个固定的宽度,如果尺寸70超出该宽度,则设置为调整为较小的字体大小("调整为适合&# 34;在属性检查器中检查)。这有效,但在自动调整大小时字体会更改为System Regular。我用打印声明验证了这一点:print(myLabel.font)
产生了
Optional(<UICTFont: 0x7fa7cac3faf0> font-family: ".SFUIDisplay-Ultralight"; font-weight: normal; font-style: normal; font-size: 70.00pt)
Optional(<UICTFont: 0x7fa7cac81ed0> font-family: ".SFUIDisplay-Regular"; font-weight: normal; font-style: normal; font-size: 64.00pt)
此时标签调整大小。请注意&#34; .SFUIDisplay-Ultralight&#34;的变化。 to&#34; .SFUIDisplay-Regular&#34;。
一旦发生这种情况,变更是永久性的。即使输入较小的数字,标签也永远不会回到Ultralight。
我发现UITextFields上的其他一些SO帖子在编辑时表现得很奇怪,但不是这个特殊问题。对于为什么会发生这种情况或如何修复它的任何帮助都将非常感激!
答案 0 :(得分:1)
根据Apple的说法,如果我们低于20分,系统字体Ultralight的重量将自动切换到更重的重量。如果这发生在更大的点大小,它可能是一个错误,你应该报告它。同时,坚持Light,这是最轻的重量,不会以这种方式自动切换。