美文网首页
iOS WKWebView 简单使用(高度计算)

iOS WKWebView 简单使用(高度计算)

作者: 一个七 | 来源:发表于2020-03-27 17:32 被阅读0次

前言

我也不想搞这个,为了日后审核方便记录一下。
之前提交项目审核,有警告不建议使用UIWebView,但也可以审核通过,现在有人说4月1号开始使用UIWebView不接受审核,官方新闻翻一翻找到了,其实还是有歧义的,似乎可以用到年底(2020年12月起将不再接受使用UIWebView的app更新),而新提交的APP就不能(2020 年 4 月起 App Store 将不再接受使用 UIWebView 的新 app),具体还是审核人员说了算。

2019.12.23

ps:平时不看新闻的后果。。。

使用

@interface BaseViewController : UIViewController<WKUIDelegate,WKNavigationDelegate>
//只要简单加载网页或者本地HTML WKNavigationDelegate可不用

 WKWebView *webView = [[WKWebView alloc]initWithFrame:[UIScreen mainScreen].bounds];
 webView.UIDelegate = self;
 [self.view addSubview:webView];
//加载网址
 [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.baidu.com"]]];
//加载HTML文本
[webView loadHTMLString:@"<p>HTML文本</p>" baseURL:nil];

//WKWebView 文本过小
NSString *headerString = @"<header><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no'><style>img{max-width:100%}</style></header>";
[webView loadHTMLString:[NSString stringWithFormat:@"%@%@",headerString, @"HTML文本"] baseURL:nil];}



//WKUIDelegate
-(void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation{
   //开始加载
}
-(void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error{
//加载失败  
}
-(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
//加载完成
 [webView evaluateJavaScript:@"document.body.scrollWidth"completionHandler:^(id _Nullable result,NSError * _Nullable error){
    
  CGFloat ratio =  CGRectGetWidth(self.cellWebView.frame) /[result floatValue];  
 [webView evaluateJavaScript:@"document.body.scrollHeight"completionHandler:^(id _Nullable result,NSError * _Nullable error){
        NSLog(@"内容高度%f",[result floatValue]*ratio);
     
       }];
  }];
}


相关文章

网友评论

      本文标题:iOS WKWebView 简单使用(高度计算)

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