UIWebView加载的3种方式(建一个类似Safari的浏览器)

UIWebView加载的3种方式(建一个类似Safari的浏览器)_第1张图片
最后的效果图

一、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)

功能:可以搜索百度,本地,以及断网状态下的一些弹出效果

效果图如下

UIWebView加载的3种方式(建一个类似Safari的浏览器)_第2张图片
四种属性变量做出来的

demo代码 密码: ar6p

你可能感兴趣的:(UIWebView加载的3种方式(建一个类似Safari的浏览器))