码迷,mamicode.com
首页 > Web开发 > 详细

当后台返回的json数据里有h5字符串该如何显示

时间:2017-12-28 17:21:58      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:var   imp   ica   uilabel   lin   ack   大小   load   并且   

有时候一些数据是需要动态显示,并且需要换行,但客户端并不知道这些数据该在哪里换行,

并按照后台编辑格式来显示,于是后台直接返回的后台编辑的h5字符串,但数据已经经过json

解析过了,再去通过专门解析h5的第三方去解析瞬间感觉头大,于是我去百度了一下如何显示

后台返回的h5字符串,有两个方法,一种是label的attributedText,还一种是webView。

label的写法:

  NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:

  [htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:

  @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];  

  UILabel * myLabel = [[UILabel alloc] initWithFrame:self.view.bounds];  

  myLabel.attributedText = attrStr; 

现在问题来,内容可以显示,但达不到我要的效果,首先不知道label要设置多高,也有代码:

计算attrStr的大小:
  CGSize size = [attrStr boundingRectWithSize:CGSizeMake(label.frame.size.width, MAXFLOAT) options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin |         NSStringDrawingUsesFontLeading context:nil].size; 

如果计算不准就用 [myLabel sizeToFit] ;

如果内容超出界面咋办,放到scrollview里,好麻烦。于是我选择了webView,因为里面本身就可以滑,也不用自己计算高度。

问题又来了,是用WKWebView还是UIWebView,一开始我使用了WKWebView,我以为越新的api功能更全更好用,但我错了,显示出来

大小完全不同,和蚂蚁差不多,很失望,后面经过询问使用UIWebView才是正解,瞬间打脸。

#import <WebKit/WebKit.h>

@property(nonatomic,strong)UIWebView * htmlWebV;

- (UIWebView *)htmlWebV

{

    if(_htmlWebV == nil)

    {

        _htmlWebV = [[UIWebView alloc] initWithFrame:CGRectMake(0, 100, 300, 200)];

        _htmlWebV.scrollView.bounces = NO

        _htmlWebV.scrollView.showsHorizontalScrollIndicator = NO;

        _htmlWebV.scrollView.backgroundColor = [UIColor whiteColor];

    }

    return _htmlWebV;

}

- (void)updateHtmlStr:(NSString *)htmlStr

{

    if(htmlStr.length > 0)

    {

        [_htmlWebV loadHTMLString:htmlStr baseURL:nil];

    }

}

[self.view addSubview:self.htmlWebV];

拿到数据之后,调用[self updateHtmlStr:htmlStr];

当后台返回的json数据里有h5字符串该如何显示

标签:var   imp   ica   uilabel   lin   ack   大小   load   并且   

原文地址:https://www.cnblogs.com/xqskzs/p/8136348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!