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