UITextField最小字体大小

时间:2011-05-18 13:07:10

标签: ios objective-c uitextfield

我正在使用属性minimumFontSize

textField.font = [UIFont boldSystemFontOfSize:17];
textField.textColor = [UIColor darkGrayColor];
textField.minimumFontSize = 10;
textField.adjustsFontSizeToFitWidth = YES;

但是文本永远不会达到10的最小字体大小,它会被截断,但是如果我将当前的fontSize更改为10,则整个文本会正确显示。我使用这个属性错了吗?

2 个答案:

答案 0 :(得分:17)

到目前为止......你正在正确设置UITextField,而adjustsFontSizeToFitWidth确实可以正常工作,但我相信iOS正处于不足之处。

UITextField中的文字似乎不会自动缩小超过 14点* - 无论您将minimumFontSize设置为小于该值,例如您的合理要求10分。

UITextField与:

  • 字体大小17,如果需要,最小尺寸15将降至15
  • 字体大小17,最小尺寸10只会降至14
  • 字体大小13,最小尺寸4将保持在13

您可以通过将三个UITextField并排比较的文本字符串来测试这一点,其中最小字体大小分别为13,14和15。前两个看起来完全相同,为14分。

这似乎是一个奇怪的神奇数字,但你去了。铁腕可读性考虑因素?我想你可以尝试adjusting the font size yourself或与minimumFontSize = 14生活在一起。

*我在IB中对此进行了验证,但它肯定也适用于以编程方式创建的UITextField

答案 1 :(得分:0)

字体将被截断,直到最小字体大小。要试验这一点,在Interface Builder中拖动UILabel,在那里设置属性并更改UILabel的宽度以查看效果。