簡體   English   中英

NSString sizeWithFont:constrainedToSize:無法正常工作

[英]NSString sizeWithFont:constrainedToSize: not working as expected

我正在嘗試如下使用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

我只是誤解了功能嗎? 如果是這樣,當約束到一定的寬度時,我如何實現此方法來確定文本的高度?

字符串的內容和字體的大小是什么?

在我看來,它正在按您的期望包裝文字,並返回包含結果所需的最小大小。 請注意,“輸出”寬度僅比“輸入”寬度少25個點。 除非您的字符串准確地包裹在360點處,否則您期望的結果寬度小於約束大小。

經過一番嘗試之后,我相信正在發生的事情是,文字的包裹方式使得最長的行只有335像素寬。 我正在使用的解決方案是僅使用此函數返回的高度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM