zoukankan      html  css  js  c++  java
  • iOS-WKWebView使用

    使用代码:可直接粘贴到自己项目中使用
    .h

    #import "BaseViewController.h"
    
    @interface LinkNewsController : BaseViewController
    /** 新闻链接 */
    @property (nonatomic, strong) NSString *link;
    
    @end

    .m

    #import <WebKit/WebKit.h>
    #import "MBProgressHUD.h"
    
    @interface LinkNewsController ()<WKNavigationDelegate>{
        //蒙版
        MBProgressHUD *_MB;
    }
    //网页视图
    @property (nonatomic, strong) WKWebView *WKWebView;
    @end
    
    @implementation LinkNewsController
    #pragma mark - 懒载入
    -(WKWebView *)WKWebView{
        if (_WKWebView == nil) {
            _WKWebView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 64, kScreenWidth, kScreenHeight-64)];
            NSLog(@"网页链接-->link:%@",self.link);
            NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:self.link]];
            [_WKWebView setNavigationDelegate:self];
            [_WKWebView loadRequest:request];
        }
        return _WKWebView;
    }
    #pragma mark - 视图载入
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        [self.view addSubview:self.WKWebView];
    }
    #pragma mark - WKNavigationDelegate
    //開始载入
    -(void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation{
        NSLog(@"didStartProvisionalNavigation");
        _MB = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
        [_MB setMode:MBProgressHUDModeIndeterminate];
        [_MB setLabelText:@"loading..."];
    }
    //载入成功
    -(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
        NSLog(@"didFinishNavigation__");
        [_MB hide:YES];
    }
    //载入失败
    -(void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error{
        NSLog(@"");
        [_MB hide:YES];
    }
    

    UIWebView 和 WKWebView 的差别
    WKWebView 更快(占用内存可能仅仅有 UIWebView 的1/3~1/4),没有缓存。更为仔细地拆分了 UIWebViewDelegate 中的方法。
    WKWebView 是轻量级的 UIWebView。

  • 相关阅读:
    $(document).ready(function() {。。。。。})里面的所有的代码都不执行(不执行初始化脚本)
    checkbox使用示例
    js中数组元素的添加和删除
    maven构建项目里classpath的位置
    Docker相关释义
    linux的systemctl服务及其使用
    RabbitMQ中客户端的Channel类里各方法释义
    java四种内部类详解
    生成随机字符串(三种方式)
    RabbitMQ在java中基础使用
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7354215.html
Copyright © 2011-2022 走看看