iOS-WKWebView使用方法介紹
使用代碼:可直接粘貼到自己項目中使用
.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__"); [MBProgressHUD hideAllHUDsForView:self.navigationController.view animated:YES];}//載入失敗-(void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error{ NSLog(@""); [MBProgressHUD hideAllHUDsForView:self.navigationController.view animated:YES];}
UIWebView 和 WKWebView 的區別
WKWebView 更快(佔用記憶體可能只有 UIWebView 的1/3~1/4),沒有緩衝,更為細緻地拆分了 UIWebViewDelegate 中的方法。
WKWebView 是輕量級的 UIWebView。