大家都知道大多数情况下,都是使用webview控件去加载显示html文件。但有时为了显示及样式修改控制方便,在UILabel控件上,我们也会直接显示html文本信息。下面我们介绍一下用法和注意事项
本质上,也是把html转为富文本。然后显示。代码如下
//为了避免显示闪退问题,我们新开一个线程,然后回主线程刷新UI
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSString *htmlString = htmlString;
UIFont*font = [UIFontsystemFontOfSize:14];//控制字号
NSDictionary *optoins = @{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,
NSFontAttributeName:font};//修改可选属性 这边可以自己添加各种控制属性
NSAttributedString *attributeStr = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:optoins documentAttributes:nil error:nil];
dispatch_async(dispatch_get_main_queue(), ^{
self.label.attributedText = attributeStr;
self.label.font = font;
});
});
注意点:再对label设置字号的时候,需要把设置代码,放在最后执行。才能有效果。
网友评论