31、[ iOS ] UIWebView 使用详解

1、初始化,实现代理 UIWebViewDelegate

@property (nonatomic ,strong) UIWebView *urlWebView;
    self.urlWebView     = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
    self.urlWebView .delegate = self;//设置代理
    self.urlWebView .scalesPageToFit = YES;//自动对页面进行缩放以适应屏幕
    self.urlWebView .scrollView.bouncesZoom = NO; //不能拖动
    self.urlWebView .dataDetectorTypes = UIDataDetectorTypePhoneNumber;//自动检测网页上的电话号码,单击可以拨打
  
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://baidu.com"]];
    [urlWebView loadRequest:request];//加载网页
    
    [self.view addSubview:self.urlWebView ];

2、代理方法

// ------开始请求
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    
    return YES;
}
// ------开始加载
- (void)webViewDidStartLoad:(UIWebView *)webView {
  
}
// ------结束加载
- (void)webViewDidFinishLoad:(UIWebView *)webView {

}
// ------请求失败
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
    
}

3、常用方法,一般写在webViewDidFinishLoad方法里

// ------获取当前网页全部图片URL
NSString *imageUrls = [self.urlWebView stringByEvaluatingJavaScriptFromString:@"var str=new Array();"
                               "$('img').each(function(){str.push($(this).attr('src'));});"
                               "str.join(',');"];
// ------获取当前网页第一张图片URL
NSString *firstImageUrl = [self.urlWebView stringByEvaluatingJavaScriptFromString:@"var images = document.getElementsByTagName('img');images[0].src.toString();"];

// ------获取当前网页title
NSString *currentTitle = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];

// ------获取当前网页URL
NSString *currentURL = webView.request.URL.absoluteString;

// ------获取当前网页的html
NSString *lJs = @"document.documentElement.innerHTML";
NSString *currentHTML = [webView stringByEvaluatingJavaScriptFromString:lJs];

// ------网页缩放
[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.zoom = 2.0"];   //2.0为缩放倍数

4、自定义按钮常用方法

// ------加载
[self.urlWebView reload];
// ------停止加载
[self.urlWebView stopLoading];
// ------返回
[self.urlWebView goBack];
// ------前进
[self.urlWebView goForward];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,393评论 25 708
  • 城濮之战,是周襄王二十年(公元前632),晋、楚两国在魏国城濮(山东鄄城西南)地区进行的争夺中原霸权的首次大战。为...
    悠悠千古事阅读 884评论 0 1
  • 忽然发现, 当年在蚕中的中考成绩, 亦忽然发现, 我已不是当初的我, 那么的“蠢”,那么的“笨”。 而变得, 这么...
    潜力gu阅读 431评论 4 1