1

我有一个要更改字体的 UI 按钮。在尝试更改字体之前,我在调试器中运行按钮代码,并打印出标题标签的字体:

po acceptButton.titleLabel.font
<UICTFont: 0xc61ae70> font-family: ".HelveticaNeueInterface-M3"; font-weight: normal; font-style: normal; font-size: 18.00pt

然后我执行代码行:

[acceptButton.titleLabel setFont:[LNSocialAppearance fontHelveticaNeueRegularWithSize:10]];

LNSocialAppearance 只是一种立即响应的便捷方法:

 return [UIFont fontWithName: @"Helvetica Neue Regular" size: points];

之后,我再次打印出 titleLabel 的字体:

po acceptButton.titleLabel.font
<UICTFont: 0xc390f50> font-family: ".HelveticaNeueInterface-M3"; font-weight: normal; font-style: normal; font-size: 17.00pt

这里发生了什么?为什么字体只下降了 1?UIButton 上是否允许使用最小字体,这与动态类型有什么关系?

更新:根据 Omer 的建议,使用 setFont:[UIFont systemFontOfSize:12]] 可以正常工作。但我宁愿不要被迫使用系统字体;Helvetica Neue 字体系列是否有一些限制?如果是这样,我如何找出最小/最大字体大小是多少?

我不完全确定是这种情况,因为无论我给它什么数字,它都会将字体大小设置为 17 - 即使我给它 20,它也不会变得更大。

4

2 回答 2

0

你可以试试设置label.minimumFontSize = 10;

于 2013-10-28T20:25:33.677 回答
0

显然它是用于字体的字符串;“Helvetica Neue Regular”已替换为“Helvetica Neue”以及其他字体粗细(例如“HelveticaNeue-Light”),并且这些字体正在适当缩小。仔细观察这些字符串的间距!

于 2013-11-05T00:01:19.667 回答