這個需求其實是有的,比如QQ聊天界面裡面發送的信息,可以用label來顯示文字(也可以用button顯示),但是有時候用戶可能會發送圖片。如果能讓Label遇到文字就顯示文字,遇到圖片就顯示圖片就好了。可能有的人會說用Quartz2D,直接在Label的drawinrect 裡面用上下文畫上去。但這感覺太刻意去弄了,而且比較麻煩。
如果你不是在董鉑然博客園看到本文,請點擊查看原文
UIImage *image = [UIImage imageNamed:@"321.jpg"]; // 1> 生成文本附件 NSTextAttachment *textAttach = [[NSTextAttachment alloc] init]; textAttach.image = image; // 2> 使用文本附件創建屬性文本 NSAttributedString *strA = [NSAttributedString attributedStringWithAttachment:textAttach]; self.lblChat.attributedText = strA;
裡面的lblChat是一個成員變量 在storyboard裡拖得一個label。
所有人都知道label.Text 但應該不是全都知道label.attributedText
賦值前和賦值後的對比(如果想做到大小隨自己定得話就需要增加判斷添加約束)