2010-12-10 22 views
1

我試圖用sizeWithFont如下:的NSString sizeWithFont:constrainedToSize:工作不正常

[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

上午我只是誤解的功能?如果是這樣,我怎麼能實現這一點,以確定限制到一定寬度的文本的高度?

回答

5

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

在我看來,它正在按照您的預期換行,並返回包含結果所需的最小大小。請注意,您的Out寬度只比您的In小25個點。除非你的字符串正好包裹了360個點,否則你會期望得到的寬度小於你的約束尺寸。

0

經過一番玩弄之後,我發現相信正在發生的事情是文本以這樣的方式包裝,即最長的行只有335像素寬。我使用的解決方案是僅使用此函數返回的高度。