1、在Label中顯示圖片
// 圖文混排顯示 - (void)setLabel { // NSTextAttachment - 附件 NSTextAttachment *attachMent = [[NSTextAttachment alloc] init]; // 為附件設置圖片 attachMent.image = [UIImage imageNamed: @"d_aini"]; // 鍵附件添加到圖文混排 NSAttributedString *str = [NSAttributedString attributedStringWithAttachment:attachMent]; // 設置 label 內容 self.label.backgroundColor = [UIColor grayColor]; self.label.attributedText = str; }
顯示效果
2、設置顯示圖片尺寸
// 圖文混排控制圖片大小 - (void)setLabel2 { // NSTextAttachment - 附件 NSTextAttachment *attachMent = [[NSTextAttachment alloc] init]; // 設置圖片 attachMent.image = [UIImage imageNamed: @"d_aini"]; // 設置圖片大小 // 圖片都是正方形,通常跟文字大小差不多 圖片大小跟文字高度相同,不是跟Label高度相同 CGFloat height = self.label.font.lineHeight; attachMent.bounds = CGRectMake(0, 0, height, height); // 添加 NSAttributedString *str = [NSAttributedString attributedStringWithAttachment:attachMent]; // 設置 label 內容 self.label.backgroundColor = [UIColor grayColor]; self.label.attributedText = str; }
顯示效果
3、文字中插入圖片
// 文字圖片拼接顯示 - (void)setLabel3 { // NSTextAttachment - 附件 // 1.創建文本附件包含圖片,知道附件 bounds NSTextAttachment *attachMent = [[NSTextAttachment alloc] init]; // 設置圖片 attachMent.image = [UIImage imageNamed: @"d_aini"]; // 設置大小 CGFloat height = self.label.font.lineHeight; attachMent.bounds = CGRectMake(0, 0, height, height); // 添加 // 2.使用附件創建屬性字符串 NSAttributedString *attrString = [NSAttributedString attributedStringWithAttachment:attachMent]; // 拼接文字 NSString *str = @"米"; // 3.創建可變字符 拼接字符串 NSMutableAttributedString *strM = [[NSMutableAttributedString alloc] initWithString:str]; [strM appendAttributedString:attrString]; [strM appendAttributedString: [[NSAttributedString alloc] initWithString: @"天天"]]; // 設置 label 內容 self.label.backgroundColor = [UIColor grayColor]; self.label.attributedText = strM; }
顯示效果