2013-08-07 114 views
3

我們使用「TTTAttributedLabel」顯示標籤。爲了計算正確的矩形大小,我們使用NSString的「sizeWithFont」方法,使用「constrainedToSize」字段的寬度。
計算很好,除非文本中有一些Emoji符號,並且文本是多行的(例如:smiley-newLine-smiley)。在這種情況下,返回的尺寸太小(垂直),最後一行不顯示。如果文本不包含任何表情符號(例如X-newLine-X) - 大小是正確的。
我們的字體是「HelveticaNeue」大小:16.25,以防萬一。
有沒有更好的方法來計算所需的大小,以便它可以與表情符號一起工作?
謝謝TTTAttributedLabel在顯示錶情符號時不顯示最後一行

+1

你有沒有找到這個解決方案? –

回答

1

根據標籤的內容製作自動高度標籤時,我有同樣的情況。 一切似乎都很好,除非標籤內容中有emojis。

這是因爲我沒有爲AttributedString使用正確的setText方法。

[label setText:text afterInheritingLabelAttributesAndConfiguringWithBlock:^ 
    return mutableAttributedString; 
}]; 

這是設置AttributedString正確的方式,但我所做的是

[label setAttributedText:text]; 

所以這是越來越錯誤標籤的高度時,它包括它表情符號。

我解決了這個問題,用Github手冊中描述的正確方法修改了這個方法。

+0

這應標記在正確的答案。 – aeskreis