代码之家  ›  专栏  ›  技术社区  ›  Rits

总是使用siz获得相同的高度eWithFont:最小字体大小:实际lFontSize:宽度:linebreak模式:

  •  2
  • Rits  · 技术社区  · 16 年前

    siz返回的CGSizeeWithFont:最小字体大小:实际lFontSize:宽度:lineBreakMode:始终包含相同的高度。为什么会这样,有办法吗?

    有什么想法吗?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Jeremy W. Sherman    15 年前

    我相信你误解了 actualFontSize 参数。这只是一个out参数,不是in参数。你提供什么价值并不重要 实际字体大小 ;如果指针不为空,则将用用于确定返回大小的字体大小覆盖它。返回的实际字体大小将介于 minFontSize: 以及 UIFont 实例作为参数提供给 sizeWithFont: 选择器的一部分。

    您还必须确保将此消息发送到要呈现的字符串。您总是会得到相同的值,例如,如果您询问一个小于一行的伪字符串,它需要多少高度才能获得所提供的宽度。

        2
  •  4
  •   Mike Pollard    13 年前

    一旦你有了 actualFontSize 从 sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:

    CGFloat actualHeight = [font fontWithSize:actualFontSize].ascender-[font fontWithSize:actualFontSize].descender;
    

    this 有助于理解与字体相关的各种大小值。)