【问题标题】:NSString sizeWithFont:constrainedToSize: not working as expectedNSString sizeWithFont:constrainedToSize: 没有按预期工作
【发布时间】:2010-12-21 07:19:06
【问题描述】:

我正在尝试按如下方式使用 sizeWithFont:

[commentTextLabel.text sizeWithFont:commentTextLabel.font
                  constrainedToSize:CGSizeMake(commentTextLabel.frame.size.width, CGFLOAT_MAX)
                      lineBreakMode:UILineBreakModeWordWrap];

当我这样做时,我希望返回的 CGSize 与传入的宽度相同 (commentTextLabel.frame.size.width) 但是,由于某种原因,尽管文本有足够的垂直空间,但宽度却在减小成长。

这是我看到的值:

  • 在:360.000000, CGFLOAT_MAX
  • 输出:335.000000, 88.000000

我只是误解了这个功能吗?如果是这样,当限制在一定宽度时,我如何实现它来确定文本的高度?

【问题讨论】:

    标签: iphone cocoa-touch ios


    【解决方案1】:

    字符串的内容和字体的大小是多少?

    在我看来,它正在按您的预期包装单词并返回包含结果所需的最小大小。请注意,您的 Out 宽度仅比您的 In 少 25 点。除非你的字符串正好包裹在 360 点,否则你会期望得到的宽度小于你的约束大小。

    【讨论】:

      【解决方案2】:

      在玩了一些之后,我相信正在发生的是文本以这样一种方式换行,最长的行只有 335 像素宽。我正在使用的解决方案是仅使用此函数返回的高度。

      【讨论】:

        猜你喜欢
        • 2021-10-19
        • 2020-03-18
        • 2012-06-14
        • 2014-11-15
        • 1970-01-01
        • 2012-07-02
        • 2011-09-07
        • 2013-03-03
        • 2015-05-18
        相关资源
        最近更新 更多