UILabel加载html字符串

2019-07-12  本文已影响0人  AE86

    大家都知道大多数情况下,都是使用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设置字号的时候,需要把设置代码,放在最后执行。才能有效果。

上一篇下一篇

猜你喜欢

热点阅读