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