![](/img/trans.png)
[英]NSString sizeWithFont:constrainedToSize: returning incorrect height on retina displays
[英]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.