在项目中有时需要加载h5,这就用到了webview
1.利用webView可加载服务器h5和本地h5
2.设置代理并遵守协议
首先需要在plist里做一下设置
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
1.加载本地h5
UIWebView *webView = [[UIWebView alloc]initWithFrame:self.view.bounds];
webView.dataDetectorTypes = UIDataDetectorTypeAll; //识别webview中的类型,例如 当webview中有电话号码,点击号码就能直接打电话
webView.scrollView.scrollEnabled = NO;//禁止滑动
NSURL *url = [[NSBundle mainBundle]URLForResource:@"index" withExtension:@"html"];
或NSURL *url = [[NSBundle mainBundle] URLForResource:@"index.html"withExtension:nil];
NSURLRequest *request = [NSURLRequestre questWithURL:url];
[webView loadRequest:request];
2.加载网络上网页h5
UIWebView *webView = [[UIWebView alloc]initWithFrame:self.view.bounds];
webView.dataDetectorTypes = UIDataDetectorTypeAll; //识别webview中的类型,例如 当webview中有电话号码,点击号码就能直接打电话
webView.scrollView.scrollEnabled = NO;//禁止滑动
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
NSURLRequest *request = [NSURLRequestre questWithURL:url];
[webView loadRequest:request];
3.调用的代理方法
//准备加载内容时调用,通过返回值来判断是否设置加载
- (BOOL)webView:(UIWebView *)webViewshouldStartLoadWithRequest:(NSURLRequest *)requestnavigationType:(UIWebViewNavigationType)navigationType;
//开始加载时调用
- (void)webViewDidStartLoad:(UIWebView*)webView;
//结束加载时调用
- (void)webViewDidFinishLoad:(UIWebView*)webView;
//加载失败时调用
- (void)webView:(UIWebView *)webViewdidFailLoadWithError:(NSError *)error;