[iOS]WKWebView加载本地H5

使用WKWebView需先导入WebKit.framework

#import "WKWebViewViewController.h"
#import <WebKit/WebKit.h>

@interface WKWebViewViewController () <WKNavigationDelegate>

@property (strong, nonatomic) WKWebView *webView;

@end

@implementation WKWebViewViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    if (!_webView) {
        _webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
        _webView.navigationDelegate = self;
    }
    [self.view addSubview:_webView];
    
    [self loadNativeHFive];
}

// 加载本地H5
- (void)loadNativeHFive {
    NSString *hFivePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
    NSURL *url = [NSURL fileURLWithPath:hFivePath];
    
    // 加载方式一
    NSString *htmlString = [NSString stringWithContentsOfFile:hFivePath encoding:NSUTF8StringEncoding error:nil];
    [_webView loadHTMLString:htmlString baseURL:url];

    /*
    // 加载方式二
    [_webView loadRequest:[NSURLRequest requestWithURL:url]];

    // 加载方式三
    if (@available(iOS 9.0, *)) {
        [_webView loadFileURL:url allowingReadAccessToURL:url];
    } else {
        // Fallback on earlier versions
    }
    
    // 加载方式四
    NSData *htmlData = [NSData dataWithContentsOfURL:url];
    if (@available(iOS 9.0, *)) {
        [_webView loadData:htmlData MIMEType:@"text/html" characterEncodingName:@"UTF-8" baseURL:url];
    } else {
        // Fallback on earlier versions
    }
    */
}

#pragma mark - WKNavigationDelegate

- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(null_unspecified WKNavigation *)navigation {
    NSLog(@"开始加载");
}

- (void)webView:(WKWebView *)webView didCommitNavigation:(null_unspecified WKNavigation *)navigation {
    NSLog(@"内容开始返回");
}

- (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation {
    NSLog(@"加载完成");
}

- (void)webView:(WKWebView *)webView didFailLoadWithError:(nonnull NSError *)error {
    NSLog(@"加载失败 error : %@",error.description);
}

@end

示意图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值