2012-08-22 164 views
7

我有NSMutableAttributedString和字符串很長。我想在UIlabel上顯示它時進行自動換行。如果它是NSString,我會繼續前進,做這樣的事情, Dynamic UILabel truncating the text 但我怎麼能用NSAttributedString做到這一點? 一旦完成,我需要根據標籤尺寸調整視圖的大小。自動換行NSMutableAttributedString

+0

嘿kBpro是我answser對您有所幫助。如果是的話,接受它。 – python

回答

5

lineBreakMode屬性在iOS 6中不推薦使用。它僅更改了常量的名稱。舊的常量已被棄用,但仍然可用。即使您正在部署到較舊的iOS,也可以使用新常量,因爲常量只是枚舉值。舊名稱和新名稱具有相同的值。所以,只需設置yourlabelname.lineBreakMode = NSLineBreakByTruncatingTail。

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; 
[paragraphStyle setLineBreakMode:NSLineBreakByTruncatingTail]; 
[attributedStr addAttribute:NSParagraphStyleAttributeName 
        value:paragraphStyle 
        range:NSMakeRange(0,[attributedStr length])]; 
0

以下內容也適用於不考慮使用屬性文本或普通文本。確保在將AttributedText和字體設置爲標籤後添加下面的行。

label.lineBreakMode = .byTruncatingTail