iOS-WKWebView使用

Posted blfbuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。




以上是关于iOS-WKWebView使用的主要内容,如果未能解决你的问题,请参考以下文章

webstorm代码片段的创建

VIM 代码片段插件 ultisnips 使用教程

Android课程---Android Studio使用小技巧:提取方法代码片段

使用 Git 来管理 Xcode 中的代码片段

如何在 Javadoc 中使用 @ 和 符号格式化代码片段?

使用 Pygments 检测代码片段的编程语言