You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UILabel字体是否自动应用leading及boundingRect是否需设置.usesFontLeading

usesFontLeading属性相关问题解答

1. UILabel的字体是否会自动应用字体本身的leading值?

默认情况下会。UILabel的文本渲染底层依赖NSLayoutManager实现,NSLayoutManager的usesFontLeading默认值为true,这个属性的作用就是控制文本布局时是否纳入字体内置的行间距(leading)计算,所以默认配置的UILabel会自动应用字体本身的leading值。

2. 调用boundingRect计算文本尺寸时,是否必须设置usesFontLeading选项?

不是必须设置,该选项的启用需要和你实际使用的文本渲染组件的配置保持对齐:

  • 如果你是为默认配置的UILabel计算尺寸,需要开启usesFontLeading选项,保证计算逻辑和UILabel默认渲染逻辑一致,避免计算高度和实际渲染高度不匹配
  • 如果你使用自定义字体时,已经主动修改了UILabel的布局逻辑关闭了leading应用,或是你需要的尺寸不需要包含字体leading,就可以关闭该选项。你遇到的开启选项后计算结果错误的情况,本质就是计算逻辑和实际UILabel的渲染逻辑不一致导致的。

小提示:用boundingRect计算文本尺寸时,除了usesFontLeading之外,还要保证传入的font、lineBreakMode、maximumNumberOfLines等参数和实际UILabel的配置完全一致,才能得到最准确的结果。


内容的提问来源于stack exchange,提问作者Steven James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:39:05