iOS中TextView显示HTML文本

作者: chy1ee | 来源:发表于2016-01-22 14:30 被阅读14479次

    在界面布局中,我们会用到各种控件来显示我们想要的数据来进行展示;之前遇到过这样一个问题,我从后台的数据传过来是json,解析过后直接放入一个TextView来进行显示,但是没注意到这个数据里面是HTML格式的,直接用了


    结果出现了下面的情况:


    未处理.png

    查了一些资料,发现在TextView中有个attributedText属性,在Label中也有,具体的就不在这里说了,可以自行查询。来说说怎么解决这个问题。
    如下图:


    第二个方法.png

    这个就是把数据的Model先获取,然后转换过来。然后就OK了:


    处理后.png
    NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
    self.msg.attributedText = attributedString;

    相关文章

      网友评论

      • 望了不忘:大佬,我tableViewcell中放了一个textView,用来加载HTML,滑动的时候一卡一卡的这咋优化呀?
      • 童话镇里蜿蜒的河:楼主你好。lable显示html文字时,怎么设置富文本的字号?我设置的字号,html标签内带的个别高亮的颜色就不管用了?
        童话镇里蜿蜒的河:@WintersMoon 用stringFormate 包一层本地写死的 HTML格式语法。 强行设置字体就行了
        WintersMoon:同问,我是因为label显示的html文本字体偏小,所以统一设置了一种字体,但是这样html中原有的的加粗斜体等特殊样式就没有了,如果你解决了的话麻烦告知一下,谢谢.
        chy1ee:@童话镇里蜿蜒的河 label我没试过哦 你查查资料 网上应该有怎么修改的方法
      • iOS界的五五开:图片怎么显示
      • 无厌_:求问,<p>这些东西怎么去掉,图片标签也不一样,怎么取。。。
      • 辉的书:你好 ,这样的话,这个textview能不能进行编辑,就是比如进行选中的编辑操作(全选,复制,粘贴)之类的;
        轻斟浅醉17:label中使用不可以
        辉的书:@hgg233 我是用的UIPageViewcontroller,每一页都是textview现实的HTML文本, 我现在遇到了一个问题就是,翻页,直接选中当前页的某段文本,显示UIMenuController菜单后, 点击某个菜单选项后,就不能响应了,之后就进行不了任何操作了,任何触摸手势都不响应了
        chy1ee:@辉的书 可以
      • 三岁就喜欢学习:可以修改字体的大小吗
      • 一个人zy:你们没有用过原生的coreTXT写HTML吗
        d2726e8ce834:求教如何用 coretext 写 html
      • 182bc7a70c99:已解决
        03a944293b39:怎么解决的能给说一下么
        ae1a7e7869a6:@10月7号 想知道是怎么解决的,图片老是过大显示不下,要么有的就不显示
        chy1ee:@10月7号 怎么解决的
      • 182bc7a70c99:楼主快点帮我解决啊
        chy1ee:@10月7号 遍及出来自己拼接?
      • 182bc7a70c99:如果内容里有图片的地址,但是图片的地址不全,需要补全前面的域名怎么解决啊? :scream:
        jasperWhf:@dong136279559 有一个basicurl 的方法。
        0271fb6f797c:能说下你是怎么解决的吗?图片地址补全问题,感谢:pray:
      • _旧时光:怎么把uitextview里的内容转换为html,楼主会吗?
        ac4d879fce46:@_旧时光
        -(NSString *)toHtmlString
        {
        NSDictionary * exportParams=@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType};
        NSData * htmlData=[self dataFromRange:NSMakeRange(0, self.length) documentAttributes:exportParams error:nil];


        NSString * html=[[NSString alloc]initWithData:htmlData encoding:NSUTF8StringEncoding];

        return html;
        }
        苹果有自己的转html的方法,不过图片地址得自己拼接
        chy1ee:@_旧时光 这个我就不想知道了
      • 小小的叶子随枫飘落:如果带有图片链接能显示吗
        chy1ee:@xiyanghh 按理说不会啊
        f1c2bfe7fd64:@小小的叶子随枫飘落 能显示,但是图片是原比例显示的远远大于手机的屏幕。
        于是求问怎么调整图片的显示方式。
        chy1ee:@小小的叶子随枫飘落 你可以试试
      • 9a2e3c097760:<span style="white-space:nowrap;">实名认证说明正文</span>
        为什么我解析之后,变成了<span style="white-space:nowrap;">实名认证说明正文</span>
        ??求解啊
        chy1ee:@倔强的少山 解决就好
        9a2e3c097760:@hgg233 对的,不过现在已经解决了,这个方法好像只能一层一层的解析标签,解析了第一次之后,我还需要再用这个方法再解析一下才可以
        chy1ee:@倔强的少山 按照我这个方法?:smile:
      • isotopex:如何让他自适应?还是固定尺寸?
        chy1ee:@刘昊 HTML放到cell? 我没试过这样
        isotopex:@hhggg2333 就是如果放在cell里面 怎么让cell自适应高度。如果用普通的字符可以算尺寸。但是html怎么算?谢了
        chy1ee:@刘昊 什么意思
      • b30280686e34:涨姿势,不用被安卓鄙视了
        chy1ee:@b30280686e34 这,,,

      本文标题:iOS中TextView显示HTML文本

      本文链接:https://www.haomeiwen.com/subject/ddtrkttx.html