一、UIWebView简介
1、是iOS内置的浏览器控件,可以浏览网页、打开文档等
2、能够加载html、pdf、docx、text等格式的文件
3、系统自带的Safari浏览器就是通过UIWebView实现的
二、UIWebView加载内容的三种方式(再强调一下从服务器获取一些东西必须进行配置)
1、loadRequest
可以加载本地或服务器中的资源、网页
重点强调:(具体的代码展示)(自己创建一个@property(nonatomic,strong)UIWebView *webView;设置浏览器范围)
中文转化为英文方法:(前面定义了一个字符串:)
NSString *string = @"http://www.baidu.com.你好";
string = [string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
重点:
/*如果将一个网络连接的字符串转化成url对象
*如果本地的话NSURL采用 NSURL *url = [NSURL fileURLWithPath:string];
*
*如果将一个本地的路径转化为url对象
*如果是网络采用 NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
( 1) 加载一个网络连接
NSString *string = @"http://www.baidu.com";//如果是中文需要转换成英文
NSURL *url = [NSURL URLWithString:string];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
(2) 加载本地文件(文档)
NSString *string = [[NSBundle mainBundle]pathForResource:@"picture" ofType:@"jpg"];//如果是中文不需要转换,只有在网络上获取才进行转换成英文
NSURL *url = [NSURL fileURLWithPath:string];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
2、loadHTMLString:baseURL
加载html代码 html学习网站 http://www.w3school.com.cn/html/index.asp
参数:baseURL,相对地址可以在指定的baseURL中查找相关文件,一般赋值为nil
3、loadData:MIMEType:textEncodingName:baseURL
可以加载本地或服务器中的文件、网页
参数MIMEType:文件类型,告诉浏览器使用什么样的插件来加载数据 文件类型对照表http://tool.oschina.net/commons
三、webView导航方法
1、goBack 回退
2、goForward 前进
3、reload 重载
4、stopLoading 取消载入内容
四、常用属性
1、自动对页面进行缩放以适应屏幕
scalespageToFit
2、设定电话号码、网址、电子邮件和日期等文字变为链接文字
dataDetectorTypes
五、代理方法
1、网页开始加载的时候调用
- (void )webViewDidStartLoad:(UIWebView *)webView
2、网页加载完成的时候调用
- (void )webViewDidFinishLoad:(UIWebView *)webView
3、网页加载错误的时候调用
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
六.带领大家做一个简单的浏览器(我已经做好放到GitHub)
(利用到了UISearchBar,UIWebView,UIToolbar,UIActivityIndicatorView)
功能:可以搜索百度,本地,以及断网状态下的一些弹出效果
效果图如下
demo代码 密码: ar6p