标签:
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 }
标签:
原文地址:http://www.cnblogs.com/zhangys/p/5058171.html