欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

iOS WKWebView的使用

程序员文章站 2022-03-20 17:47:38
...
参考文档:

WKWebView的使用和各种坑的解决方法(OC+Swift)
WKWebView的使用及js交互
iOS:WKWebView与UIWebView的区别

需求一、修改WKWebView字体大小和颜色
//  LSXMatchDetalVCView.m
//  Badminton
//
//  Created by mac on 2018/6/13.
//  Copyright © 2018年 LSX. All rights reserved.
//

#import "LSXMatchDetalVCView.h"
@interface LSXMatchDetalVCView ()<WKNavigationDelegate>

@end

@implementation LSXMatchDetalVCView{
  
    WKWebView *webView;

}
-(instancetype)initWithFrame:(CGRect)frame{
    if (self =[super initWithFrame:frame]) {
        self.backgroundColor=[UIColor orangeColor];
        
        webView=[[WKWebView alloc]init];
        [self addSubview:webView];
        webView.backgroundColor=[UIColor whiteColor];
        webView.opaque = NO;
        webView.navigationDelegate=self;
        // 去掉webView的滚动条
        for (UIView *subView in [webView subviews])
        {
            if ([subView isKindOfClass:[UIScrollView class]])
            {
                // 不显示竖直的滚动条
                [(UIScrollView *)subView setShowsVerticalScrollIndicator:NO];
            }
        }
    }
    return self;
}
-(void)layoutSubviews{
    webView.frame=CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-49-64);
    // 添加额外的滚动附近区域的内容
    webView.scrollView.contentInset = UIEdgeInsetsMake(SCREEN_WIDTH/2, 0, 0, 0);
}
-(void)setModel:(LSXMatchDetalModel *)model{
    _model=model;
    NSString *str =_model.content;
    //webView文本
    [webView loadHTMLString:str baseURL:nil];  
}
// WKNavigationDelegate方法 页面加载完成之后调用
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
    //修改字体大小 300%
    [ webView evaluateJavaScript:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '200%'" completionHandler:nil];
    
    //修改字体颜色  #9098b8
    [ webView evaluateJavaScript:@"document.getElementsByTagName('body')[0].style.webkitTextFillColor= '#9098b8'" completionHandler:nil];
    
}