码迷,mamicode.com
首页 > Web开发 > 详细

UI基础视图----UIWebView总结

时间:2015-12-19 08:43:50      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

  UIWebView是UIKit框架中继承于UIView的一个常用的基础视图,和UILabel,UIImageView是兄弟类,用于展示一个网页。

  UIWebView是一个可以设置代理的类,在加载的不同状态有对应的协议方法,可以进行业务层面的逻辑处理。

  使用UIWebView可以做出一个简单的手机浏览器。

1:webView基本的属性和方法

  核心方法就是loadRequest:,用于加载一个请求,就可以实现展示一个网页。

  一个比较重要的属性是scalesPageToFit 缩放页面以适应屏幕。用于没有做移动端适配的网站来控制是否缩放

  注意:封装网络请求的时候网址的http://协议不能省略。

 1 - (void)viewDidLoad {
 2     [super viewDidLoad];
 3     //1:封装一个网络请求
 4     NSString * urlString = @"http://www.cnblogs.com/zhangys";//网址是一个字符串
 5     NSURL * url = [NSURL URLWithString:urlString];//把网址字符串转化为URL
 6     NSURLRequest * request = [NSURLRequest requestWithURL:url];//把URL封装成一个网络请求
 7     //2:实例化
 8     UIWebView * webView = [[UIWebView alloc] initWithFrame:self.view.frame];//像普通视图一样实例化
 9     //3:加载请求
10     [webView loadRequest:request];//webView的加载请求方法,把封装好的请求放进去
11     //4:设置代理为当前视图控制器
12     webView.delegate = self;
13     //5:缩放页面以适应屏幕
14     webView.scalesPageToFit = YES;
15     [self.view addSubview:webView];//UIView中层级关系很重要,不放在父视图上是显示不了的
16 }

 

2:代理方法

  当前视图控制器遵守UIWebViewDelegate协议,并且设置当前视图控制器为UIWebView的代理,就可以实现这个协议里面的方法,协议方法有四个,都是可选的(optional),可以根据需要来实现。这里实现三个,开始加载,结束加载和加载失败。

  注意:

  想要使用UIWebView的协议,必须有三部分:

  1:遵守协议(UIWebViewDelegate)

 

1 @interface ViewController () <UIWebViewDelegate>
2 
3 @end

 

 

 

  2:设置代理

 

1     //4:设置代理为当前视图控制器
2     webView.delegate = self;

 

 

 

  3:实现协议方法

 

 1 #pragma mark - UIWebViewDelegate
 2 
 3 //开始加载数据时调用
 4 - (void)webViewDidStartLoad:(UIWebView *)webView
 5 {
 6     NSLog(@"开始加载数据");
 7 }
 8 //结束加载数据时调用
 9 - (void)webViewDidFinishLoad:(UIWebView *)webView
10 {
11     NSLog(@"结束加载数据");
12 }
13 //加载失败时调用
14 - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
15 {
16     NSLog(@"加载失败");
17 }

 

 

 

 

 

 

UI基础视图----UIWebView总结

标签:

原文地址:http://www.cnblogs.com/zhangys/p/5058171.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!