我正在使用属性 minimumFontSize
textField.font = [UIFont boldSystemFontOfSize:17];
textField.textColor = [UIColor darkGrayColor];
textField.minimumFontSize = 10;
textField.adjustsFontSizeToFitWidth = YES;
但是文本永远不会达到最小字体大小 10,它会被截断,但是如果我将当前字体大小更改为 10,整个文本就会正确显示。我是不是用错了这个属性?
最佳答案
尽管已经很晚了……您正在设置您的 UITextField
正确,adjustsFontSizeToFitWidth
确实可以正常工作,但我认为 iOS 被人利用了。
它出现在 UITextField
中的文本不会自动缩小超过 14 pts* - 无论您是否设置 minimumFontSize
低于该值,例如您合理要求的 10 分。
A UITextField
与:
- 字体大小为 17,如果需要,最小大小为 15 将降至 15
- 字体大小 17,最小大小 10 只会下降到 14
- 字体大小 13,最小大小 4 将保持在 13
您可以通过比较三个 UITextField
来测试这一点并排放置对它们来说太长的文本字符串,其中最小字体大小分别为 13、14 和 15。前两个看起来完全一样,都是 14 分。
这似乎是一个奇怪的神奇数字,但就是这样。铁腕的可读性考虑?我想你可以试试 adjusting the font size yourself或拥有minimumFontSize = 14
.
*我在 IB 中验证了这一点,但它肯定适用于以编程方式创建的 UITextField
也是。
关于ios - UITextField 最小字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6045176/