使用代码:可直接粘贴到自己项目中使用
.h#import "BaseViewController.h"@interface LinkNewsController : BaseViewController/** 新闻链接 */@property (nonatomic, strong) NSString *link;@end
.m
#import#import "MBProgressHUD.h"@interface LinkNewsController () { //蒙版 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。