iOS 7使用HTML字符串作为NSAttributedString并设置字体?

时间:2014-01-23 20:07:23

标签: ios7 uitextview nsattributedstring textkit

我有一个UITextView,我正在尝试显示一些HTML格式的属性文本。它使用内联粗体和斜体等内容。客户端现在希望更改此字体。但是,每当我更改字体时,它似乎忽略任何HTML格式。有没有办法在保留其他格式属性的同时更改字体,比如粗体化斜体?

2 个答案:

答案 0 :(得分:5)

我能够让它工作的方式是在<span style=\"font-family: Avenir; font-size: 12\">%@</span>

前面加上我的字符串

答案 1 :(得分:1)

对于Objective-c方法,我使用了NSMutableString-setAttributes:

NSString *htmlString = @"..."
NSData *textData = [htmlString dataUsingEncoding:NSUnicodeStringEncoding];
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc]
      initWithData:textData
           options:@{ NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType }
documentAttributes:nil error:nil];
[attrStr setAttributes:@{NSFontAttributeName : [UIFont fontWithName:@"avenir" size:12.0f]} range:NSMakeRange(0,attrStr.length)];