iOS UIWebView相关

2017.5.8

UIWebViewNavigationTypeLinkClicked,用户触击了一个链接。

UIWebViewNavigationTypeFormSubmitted,用户提交了一个表单。

UIWebViewNavigationTypeBackForward,用户触击前进或返回按钮。

UIWebViewNavigationTypeReload,用户触击重新加载的按钮。

UIWebViewNavigationTypeFormResubmitted,用户重复提交表单

UIWebViewNavigationTypeOther,发生其它行为。

获取UIWebView上面的按钮点击事件

这个方法可以获取它加载的网页上面的事件,比如单击了图片,单击了按钮等等。//当网页视图被指示载入内容而得到通知。应当返回YES,这样会进行加载。

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

{

//判断是否是单击

if (navigationType == UIWebViewNavigationTypeLinkClicked)

{

NSURL *url = [request URL];

if([[UIApplication sharedApplication]canOpenURL:url])

{

[[UIApplication sharedApplication]openURL:url];

}

return NO;

}

return YES;

}

拼接的Html最后加的按钮的方法如下:

NSURL * path = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"source_page_button" ofType:@"png"]];

[strReturn appendString:[NSString stringWithFormat:@"

",_url,path]];

这样写了之后,点击按钮之后就不会用当前的UIWebView来加载网络上的网页,而是调用系统的Safari来打开。

注意:最后一点要返回yes,否则UIWebView刚开始将一片空白,这是因为第一次加载的时候也是UIWebView请求一个链接,如果返回NO,就不会去加载了。还可以对url的内容进行判断,看是什么请求。

该方法的返回值用以控制是否允许加载目标链接页面的内容,返回YES将直接加载内容,NO则反之

scalespageToFit 自动对页面进行缩放以适应屏幕

detectsPhoneNumbers 自动检测网页上的电话号码,单击可以拨打

加载内容

NSURL* url = [NSURL URLWithString:@"http://www.baidu.com"];//创建URL

NSURLRequest* request = [NSURLRequest requestWithURL:url];//创建NSURLRequest

[webView loadRequest:request];//加载

也可以加载一个本地资源:

NSURL* url = [NSURL fileURLWithPath:filePath];//创建URL

NSURLRequest* request = [NSURLRequest requestWithURL:url];//创建NSURLRequest

[webView loadRequest:request];//加载

UIWebView还支持将一个NSString对象作为源来加载。可以为其提供一个基础url,来指导UIWebView对象如何跟随链接和加载远程资源:

[webview loadHTMLString : myHTML  baseURL : [NSURL  URLWithString : @"http://baidu.com"]];

导航

goForward 下一页

goBack 返回上一页

reload 重载

stopLoading 取消载入内容

代理

-(void)webViewDidStartLoad:(UIWebView*)webView ;//当网页视图已经开始加载一个请求后,得到通知。

-(void)webViewDidFinishLoad:(UIWebView*)webView ;//当网页视图结束加载一个请求之后,得到通知。

-(void)webView:(UIWebView*)webView DidFailLoadWithError:(NSError*)error;//当在请求加载中发生错误时,得到通知。会提供一个NSSError对象,以标识所发生错误类型。

UIWebView常用注意点

1. 与UIWebView进行交互,调用web页面中的需要传参的函数时,参数需要带单引号,或者双引号(双引号需要进行转义在转义符前加入\),在传递json字符串时不需要加单引号或双引号

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • IOS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、...
    学无止境666阅读 45,907评论 5 53
  • OS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、速...
    知之未道阅读 1,668评论 0 4
  • http://www.cnblogs.com/mddblog/p/5281748.html 一、整体介绍 UIWe...
    F麦子阅读 1,262评论 0 2
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,721评论 2 7
  • 最近在想一些社区的小问题,为什有的就很活跃,有的就很冷清,除了KOL,名气等因素,觉得,很重要的一点就是诱导用户发...
    Cuz_Loading阅读 255评论 0 0