在iOS 6中将附件图像添加到属性字符串

时间:2014-04-13 15:17:03

标签: nsattributedstring nstextattachment

我已经花了3个小时,但是无法解决它,有人知道为什么吗?请帮帮我!

下面的代码添加了一个图像作为属性字符串的附件

UIImage *img = [UIImage imageNamed:imgName];
NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];
textAttachment.image = img;
NSAttributedString *attrStringWithImage = [NSAttributedString attributedStringWithAttachment:textAttachment];
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] init];
[attrStr appendAttributedString:attrStringWithImage];

然后我将attrStr分配给UITextView的attributedText,这在iOS 7中效果很好但在iOS 6中没有显示图像,我听说自iOS 6以来UITextView支持的属性文本,我应该为iOS 6做什么不同?

PS:在iOS 6中,如果我将attrStr分配给UILabel的attributedText,它会显示,UITextView的特殊之处是什么?

2 个答案:

答案 0 :(得分:0)

iOS 7.0及更高版本中提供了

+ (NSAttributedString *)attributedStringWithAttachment:(NSTextAttachment *)attachment。因此,在iOS 6及更早版本的iOS中,您可以使用UIWebView或第三个库在Label或TextView中显示图像。

答案 1 :(得分:0)

iOS 7.0及更高版本中提供的NSTextAttachment类,因此在iOS6及更早版本中无法使用。