UIWebView 使用

iOS中UIWebView的使用详解

2016-03-05 20:04:03.950 webWiew[52644:2355401] -[ViewController webView:shouldStartLoadWithRequest:navigationType:] -- <NSMutableURLRequest: 0x7f8d5ac36b50> { URL: https://www.baidu.com/ } -- 5

2016-03-05 20:04:03.952 webWiew[52644:2355401] -[ViewController webViewDidStartLoad:]

2016-03-05 20:04:40.682 webWiew[52644:2355401] -[ViewController webView:didFailLoadWithError:] -- Error Domain=NSURLErrorDomain Code=-999 "(null)" UserInfo={NSErrorFailingURLStringKey=https://www.baidu.com/, NSErrorFailingURLKey=https://www.baidu.com/}

2016-03-05 20:04:40.694 webWiew[52644:2355401] -[ViewController webView:shouldStartLoadWithRequest:navigationType:] -- <NSMutableURLRequest: 0x7f8d5af62990> { URL: https://www.baidu.com/ } -- 3

2016-03-05 20:04:40.694 webWiew[52644:2355401] -[ViewController webViewDidStartLoad:]

2016-03-05 20:05:56.301 webWiew[52644:2355401] -[ViewController webViewDidFinishLoad:]

这里是一个 小小例

 1 #import "ViewController.h"
 2
 3 @interface ViewController ()<UIWebViewDelegate>
 4
 5 @property (nonatomic, weak) UIActivityIndicatorView *activeView;
 6
 7
 8 @end
 9
10 @implementation ViewController
11
12 - (void)viewDidLoad {
13     [super viewDidLoad];
14
15     self.view.backgroundColor = [UIColor grayColor];
16
17     UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
18
19     [self.view addSubview:webView];
20
21     webView.delegate = self;
22
23 //    webView.scrollView.backgroundColor = [UIColor redColor];
24 //
25 //    webView.backgroundColor = [UIColor orangeColor];
26
27 //    [webView setOpaque:NO];//opaque是不透明的意思
28     webView.dataDetectorTypes = UIDataDetectorTypeAll;//自动检测网页上的电话号码,单击可以拨打
29     [webView setScalesPageToFit:YES];//自动缩放以适应屏幕
30
31     //加载网页的方式
32     //1.创建并加载远程网页
33     NSURL *url = [NSURL URLWithString:@"https://www.baidu.com"];
34     [webView loadRequest:[NSURLRequest requestWithURL:url]];
35     //2.加载本地文件资源
36      //NSURL *url = [NSURL fileURLWithPath:filePath];
37      //NSURLRequest *request = [NSURLRequest requestWithURL:url];
38      //[webView loadRequest:request];
39     //3.读入一个HTML,直接写入一个HTML代码
40     //NSString *htmlPath = [[[NSBundle mainBundle]bundlePath]stringByAppendingString:@"webapp/loadar.html"];
41     //NSString *htmlString = [NSString stringWithContentsOfURL:htmlPath encoding:NSUTF8StringEncoding error:NULL];
42     //[webView loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:htmlPath]];
43
44     UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
45 //    activityView.frame = CGRectMake(100, 100, 32, 32);
46     activityView.backgroundColor = [UIColor redColor];
47     activityView.center = CGPointMake([UIScreen mainScreen].bounds.size.width * .5, [UIScreen mainScreen].bounds.size.height * .5);
48
49
50     self.activeView = activityView;
51     [self.view addSubview:activityView];
52
53
54 }
55
56 #pragma mark - UIWebView delegate
57
58 // 开始加载的时候执行该方法。
59 - (void)webViewDidStartLoad:(UIWebView *)webView
60 {
61     NSLog(@"%s",__func__);
62     [self.activeView startAnimating] ;
63 }
64
65 // 加载完成的时候执行该方法。
66 - (void)webViewDidFinishLoad:(UIWebView *)webView
67 {
68         NSLog(@"%s",__func__);
69     [self.activeView stopAnimating];
70 }
71
72 // 有错误会来到这里
73 - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
74 {
75     NSLog(@"%s -- %@",__func__,error);
76 }
77
78 // 每次请求的url地址 都会调用这个函数。返回yes表示加载。否则不加载
79 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
80
81     NSLog(@"%s -- %@ -- %ld",__func__,request,navigationType);
82
83     return YES;
84 }
85
86 @end
时间: 2024-10-13 19:24:46

UIWebView 使用的相关文章

UIWebView中的JS和OC的互调

html的代码如下: <html> <head>     <meta xmlns="http://www.w3.org/1999/xhtml" http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title>这是一个示例html文件</title>     <script Type='text/j

iOS中UIWebView的使用详解

iOS中UIWebView的使用详解 一.初始化与三种加载方式 UIWebView继承与UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种: 第一种: - (void)loadRequest:(NSURLRequest *)request; 这是加载网页最常用的一种方式,通过一个网页URL来进行加载,这个URL可以是远程的也可以是本地的,例如我加载百度的主页:     UIWebView * view = [[UIWebView al

点击UIWebView上文字调用方法

有的时候应用中需要通过点击网页中的文字或者按钮调用一个方法或事件,这时需要我们将网页与应用之间建立联系. 1.和服务器人员约定一个协议例如ios:// 2.当点击网页上文字或按钮时,跳转这个约定协议的路径 3.通过webview代理方法监听url,判断是哪个操作决定调用方法. window.location.href = 'iso://openCamer'; #pragma mark - UIWebViewDelegate /** 当webView发送一个请求之前都会调用这个方法, 返回YES,

UIWebView

目录 对UIWebView的理解 UIWebView的操作 UIWebView加载网页的三种方式 UIWebView的代理 Objective C与JS的交互 对UIWebView的理解 UIWebView的操作 UIWebView加载网页的三种方式 [_webView loadRequest:NSURLRequest]; [_webView loadHTMLString: baseURL:NSURL]; [_webView loadData:(NSData *)data MIMEType:(N

UIWebView页面的控制(二)

1.UIWebView的内容控制的属性/方法列表 loading属性               确认当前页面是否在读入中 canGoForward属性   确认goForward  方法是否可执行,可执行为yes: canGoBack属性        确认goBack  方法是否可执行,可执行为yes: goBack方法               返回前一个页面 goForword方法          进入下一个页面 reload方法                 重新读入当前页 st

使用UIWebView载入本地或远程server上的网页

大家都知道,使用UIWebView载入本地或远程server上的网页,sdk提供了三个载入接口: - (void)loadRequest:(NSURLRequest *)request; - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; - (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString

【iOS开发】UIWebView与JavaScript(JS) 回调交互

引用:http://blog.sina.com.cn/s/blog_693de6100102vi3w.html 很多关于object-c(简称:oc,是ios开发app使用的语言) 与 js 交互的文章都比较适用于 mac开发,iOS的webview 还是有所不一样, 参考:http://blog.sina.com.cn/s/blog_693de6100102vhuh.html 本文提供了一个很好解决 交互的思路. 自然,从oc到js,可以使用 stringByEvaluatingJavaScr

使用WKWebView替换UIWebView

开发App的过程中,常常会遇到在App内部加载网页,通常用UIWebView加载.这个自iOS2开始使用的网页加载器一直是开发的心病:加载速度慢,占用内存多,优化困难.如果加载网页多,还可能因为过量占用内存而给系统kill掉.各种优化的方法效果也不那么明显(点击查看常用优化方法). iOS8以后,苹果推出了新框架Wekkit,提供了替换UIWebView的组件WKWebView.各种UIWebView的问题没有了,速度更快了,占用内存少了,一句话,WKWebView是App内部加载网页的最佳选择

UIWebView和UIWebViewDelegate的基本用法

UIWebView和UIWebViewDelegate的基本用法 一.UIWebView主要有三种方法实现页面的装载,分别是: 1. (void)loadRequest:(NSURLRequest *)request;  (直接装载URL) 2. (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; (主要用于装载用字符串拼接成的HTML代码)3 .(void)loadData:(NSData *)data MIMET

UIWebView和WKWebView的使用及js交互

UIWebView和WKWebView的使用及js交互 web页面和app直接的交互是很常见的东西,之前尝试过flex和js的相互调用以及android和js的相互调用,却只有ios没试过,据说比较复杂.周末花了点时间研究了一下,确实和其他的不太一样,但是 也不见复杂. 要知道的事情 ios的webview有2个类,一个叫UIWebView,另一个是WKWebView.两者的基础方法都差不多,本文重点是后者,他是取代UIWebView出现的,在app开发者若不需要兼容ios8之前版本,都应该使用