在实际项目开发过程中,我们常会遇到一段文字中既要有图片又要有文字,例如下图是我实际需要的效果是这样:
后来看到一大神的博客,学习参考了一下,最后做出来效果了:
步骤一:
NSMutableAttributedString创建一个富文本对象,调用富文本的对象方法addAttribute:(NSString * )value:(id) range:(NSRange)来修改对应range范围中 attribute属性的 value值,但是我这里不需要,直接创建富文本对象就行了:
1.NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:@"(完善订单信息,兑换礼品 ,请联系农商友现场服务人员)"];
步骤二:
我需要在礼品后插入图片,计算好插入的index位置是多少
1.创建NSTextAttachment的对象,用来装在图片
将NSTextAttachment对象的image属性设置为想要使用的图片
设置NSTextAttachment对象bounds大小,也就是要显示的图片的大小
NSTextAttachment *attch = [[NSTextAttachment alloc] init];
attch.image = [UIImage imageNamed:@"icon_bill_gift"];
attch.bounds = CGRectMake(0, 0, 14.5, 16);
2.用[NSAttributedString attributedStringWithAttachment:attch]方法,将图片添加到富文本上
NSAttributedString *string = [NSAttributedString attributedStringWithAttachment:attch];
[attri insertAttributedString:string atIndex:13];
mayLabel.attributedText = atria;
这样就完成了。
可以参考的原文链接:http://www.jianshu.com/p/5828173adc3a