您的位置:首页 > 移动开发

UIWebView UIWKWebView的使用心得

2016-04-21 10:33 489 查看
UIWebView

IOS7  使用的是UIWebView 在代理方法中

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType;
作用就是准备加载内容时调用的方法,通过返回值来进行是否加载的设置,
这里返回值是一个Bool类型。

如果为webView添加了delegate对象并实现该接口,那么在webView加载任何一个frame之前都会delegate对象的该方法,该方法的返回值用以控制是否允许加载目标链接页面的内容,返回YES将直接加载内容,NO则反之。并且UIWebViewNavigationType枚举,定义了页面中用户行为的分类,包括
UIWebViewNavigationTypeLinkClicked,用户触击了一个链接。
UIWebViewNavigationTypeFormSubmitted,用户提交了一个表单。
UIWebViewNavigationTypeBackForward,用户触击前进或返回按钮。
UIWebViewNavigationTypeReload,用户触击重新加载的按钮。
UIWebViewNavigationTypeFormResubmitted,用户重复提交表单
UIWebViewNavigationTypeOther,发生其它行为。

比如网页其实是调起拨号功能,他的URL传入的是一个电话号码
需求是点击拨号,不需要跳转,这里就要进行处理,返回NO(不直接加载内容)

UIWKWebView


ios以后使用此控件,在代理方法进行了区别。

代理方法类似shouldStartLoadWithRequest
- (void)webView:(WKWebView
*)webView decidePolicyForNavigationAction:(WKNavigationAction
*)navigationAction decisionHandler:(void
(^)(WKNavigationActionPolicy))decisionHandler;

这里的
        decisionHandler(WKNavigationActionPolicyAllow);
        decisionHandler(WKNavigationActionPolicyCancel);
类似  
shouldStartLoadWithRequest 的 
return YES   return NO 
默认是需要decisionHandler(WKNavigationActionPolicyAllow);



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: