ios-网络篇webview的简单应用

一、简单介绍

1.简单说明

UIWebView是iOS内置的浏览器控件
系统自带的Safari浏览器就是通过UIWebView实现的

UIWebView不但能加载远程的网页资源,还能加载绝?部分的常见文件 html\htm pdf、doc、ppt、txt  mp4 ......

2.UIWebView常?的加载资源的方法

- (void)loadRequest:(NSURLRequest *)request;

3.常用的属性和方法

重新加载(刷新)  - (void)reload;

停?止加载     - (void)stopLoading;

回退     - (void)goBack;

前进    - (void)goForward;

需要进?检测的数据类型   @property(nonatomic) UIDataDetectorTypes dataDetectorTypes

是否能回退 @property(nonatomic,readonly,getter=canGoBack) BOOL canGoBack;

是否能前进 @property(nonatomic,readonly,getter=canGoForward) BOOL canGoForward;

是否正在加载中  @property(nonatomic,readonly,getter=isLoading) BOOL loading;

是否伸缩内容至适应屏幕当前尺寸 @property(nonatomic) BOOL scalesPageToFit;

4.监听UIWebView的加载过程

成为UIWebView的代理,遵守UIWebViewDelegate协议,就能监听UIWebView的加载过程

开始发送请求(加载数据)时调用这个方法

- (void)webViewDidStartLoad:(UIWebView *)webView;

请求完毕(加载数据完毕)时调?这个方法

- (void)webViewDidFinishLoad:(UIWebView *)webView;

请求错误时调用这个方法

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;

5.监听UIWebView的加载过程

UIWebView在发送请求之前,都会调?用这个?方法,如果返回NO,代表停?止加载 请求,返回YES,代表允许加载请求

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

二、基本使用

1.示例一

新建一个项目,在storyboard中的UIView中拖一个UIWedView控件。

最简单的使用:

(1)创建一个网络请求

(2)加载网络请求

代码:

 1 //
 2 //  YYViewController.m
 3 //  01-UIwebview的基本使用
 4 //
 5 //  Created by 孔医己 on 14-7-2.
 6 //  Copyright (c) 2014年 itcast. All rights reserved.
 7 //
 8
 9 #import "YYViewController.h"
10
11 @interface YYViewController ()
12 @property (weak, nonatomic) IBOutlet UIWebView *webView;
13
14 @end
15
16 /**
17  *  UIWebView:浏览器,可以用来浏览常见格式的文件,如html/txt/doc/ppt/mp4等
18  */
19 @implementation YYViewController
20
21 - (void)viewDidLoad
22 {
23     [super viewDidLoad];
24
25     //1.创建网络请求
26     NSURL *url=[NSURL URLWithString:@"http://www.baidu.com"];
27     NSURLRequest *request=[NSURLRequest requestWithURL:url];
28
29     //加载网络请求
30     [self.webView loadRequest:request];
31
32 }
33
34 @end

模拟器效果:

2.监听UIWebView

代码示例:

 1 //
 2 //  YYViewController.m
 3 //  01-UIwebview的基本使用
 4 //
 5 //  Created by 孔医己 on 14-7-2.
 6 //  Copyright (c) 2014年 itcast. All rights reserved.
 7 //
 8
 9 #import "YYViewController.h"
10 //使用第三方框架
11 #import "MBProgressHUD+MJ.h"
12
13 @interface YYViewController ()<UIWebViewDelegate>
14 @property (weak, nonatomic) IBOutlet UIWebView *webView;
15
16 @end
17
18 /**
19  *  UIWebView:浏览器,可以用来浏览常见格式的文件,如html/txt/doc/ppt/mp4等
20  */
21 @implementation YYViewController
22
23 - (void)viewDidLoad
24 {
25     [super viewDidLoad];
26
27     //1.创建网络请求
28     NSURL *url=[NSURL URLWithString:@"http://www.baidu.com"];
29     NSURLRequest *request=[NSURLRequest requestWithURL:url];
30
31     //2.设置WebView的代理
32     self.webView.delegate=self;
33     //伸缩内容适应屏幕尺寸
34     self.webView.scalesPageToFit=YES;
35
36     //加载网络请求
37     [self.webView loadRequest:request];
38
39 }
40
41 #pragma mark-UIWebViewDelegate
42 /**
43  *WebView开始加载资源的时候调用(开始发送请求)
44  */
45 -(void)webViewDidStartLoad:(UIWebView *)webView
46 {
47     NSLog(@"webViewDidStartLoad---");
48     [MBProgressHUD showMessage:@"正在加载···"];
49 }
50
51 /**
52  *WebView加载完毕的时候调用(请求完毕)
53  */
54 -(void)webViewDidFinishLoad:(UIWebView *)webView
55 {
56     NSLog(@"webViewDidFinishLoad---");
57     [MBProgressHUD hideHUD];
58 }
59
60 /**
61  *WebView加载失败的时候调用(请求失败)
62  */
63 -(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
64 {
65     NSLog(@"didFailLoadWithError---");
66      [MBProgressHUD hideHUD];
67 }
68
69
70 @end

打印查看:

时间: 2024-10-15 00:29:39

ios-网络篇webview的简单应用的相关文章

IOS网络篇1之截取本地URL请求(NSURLProtocol)

本文转载至 http://blog.csdn.net/u014011807/article/details/39894247 NSURLProtocol 是iOS中非常重要的一个部分,我们经常会在以下地方用到它: (1)网络请求代理转发(FQ 网络加速等) (2)离线缓存策略 总之,只要是需要对本地的URL请求进行截获的,我们都需要使用这个东东. IOS中我们经常使用的网络请求NSURLConnection以及WebView的页面加载都会被NSURLProtocol截获,因此这个部分的核心就是如

iOS网络篇1-简单搭建Apache服务器

不管是任何移动应用,为了保持生命力必须和网络进行数据反馈,为了便于开发,这里简单实现如何在mac上本地搭建用于开发测试的服务器. web服务器主要功能是提供网上信息浏览服务,服务器是一种被动程序,只有当客户端发出请求时才会作出响应, 最常用的Web服务器是Apache和Microsoft的Internet信息服务器IIS,其实说白了web服务器就是一台在Internet上具有独立IP地址的计算机,同时也指管理服务器的程序. 一.搭建目标: 1>搭建Apache服务器 2>支持PHP脚本语言 首

iOS网络篇2-http协议通信规则

超文本传送协议 (HTTP-Hypertext transfer protocol) 定义了客户端与服务器之间通信的传输规则.目前最新的版本是1.1,HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型. 一.特点: 1.支持客户/服务器模式.支持基本认证 和安全认证. 2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径.请求方法常用的有GET.HEAD.POST.每种方法规定了客户与服务器联系的类型不同.由于HTTP协议简单,使得HTTP服务器的程序规模小,因而

iOS网络篇3-利用UIWebView做一个浏览器功能

在UIkit中,苹果封装了一个特别好用的控件UIWebView能够实现简单的网页加载和文件加载 一.加载网页资源 1.首先新建一个singleView项目,在storyboard拖如下控件 2.设置相关属性连接如下 3.在ViewController.m里的类扩展遵守UISearchBarDelegate和UIWebViewDelegate @interface ViewController () <UISearchBarDelegate,UIWebViewDelegate> /**网页展示*

IOS网络处理——AFNetworking的简单使用

ios处理网络请求,用的比较多的是第三方工具类AFNetworking,因为原生的比较麻烦. 如登录时发送账号跟密码跟后台比对,过程如下,后台返回的是json,如 {"login":{"id":"0001","status":"OK","errorMsg":""}} 下面是使用时的举例. 1 #import "AFNetWorking.h" 2 3

iOS多线程篇:NSThread简单介绍和使用

一.什么是NSThread NSThread是基于线程使用,轻量级的多线程编程方法(相对GCD和NSOperation),一个NSThread对象代表一个线程, 需要手动管理线程的生命周期,处理线程同步等问题. 二.NSThread方法介绍 1)动态创建 1 NSThread * newThread = [[NSThread alloc]initWithTarget:self selector:@selector(threadRun) object:nil]; 动态方法返回一个新的thread对

iOS网络篇4-利用NSURLConnection实现GET/POST/HEAD请求

iOS 开发中,我们可以利用NSURLConnection实现GET/POST请求 一.NSURLConnection三种请求方式 1.发送同步请求(返回NSData数据) [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil]; 在当前线程执行,返回NSData数据 2.发送异步请求(利用block) [NSURLConnection sendAsynchronousReque

IOS网络篇

一.同步GET请求方法 -(void)synchronizationGet { NSString *strURL = @"http://olasapi.sinaapp.com//index.php"; NSURL *url = [NSURL URLWithString:strURL]; NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url]; NSData *data = [NSURLConnection sendS

iOS开发网络篇—UIWebView简单介绍

iOS开发网络篇—UIWebView简单介绍 一.简单介绍 1.简单说明 UIWebView是iOS内置的浏览器控件系统自带的Safari浏览器就是通过UIWebView实现的 UIWebView不但能加载远程的网页资源,还能加载绝?部分的常见文件 html\htm pdf.doc.ppt.txt  mp4 ...... 2.UIWebView常?的加载资源的方法 - (void)loadRequest:(NSURLRequest *)request; 3.常用的属性和方法 重新加载(刷新)