关于UIWebView的简单使用实例

UIWebView是iOS中比较常用的控件,简单介绍一下:

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;


实例演示:


#import "MainViewController.h"


@interface MainViewController ()<UIWebViewDelegate>

@property (nonatomic,retain)UIWebView *webyouhuo;


@property (nonatomic,retain)UIActivityIndicatorView *jihua;


@property (nonatomic,retain)UIView *viw;



@end


@implementation MainViewController

- (void)dealloc

{

    [_webyouhuo release];

    [_jihua release];

    [_viw release];

    [super dealloc];

    

}



- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    self.view.backgroundColor = [UIColor whiteColor];

    

    self.webyouhuo = [[UIWebView alloc]initWithFrame:self.view.bounds];

    self.webyouhuo.delegate = self;

    [self.view addSubview:self.webyouhuo];

    [_webyouhuo release];

    

    

    //请求url

    NSString *str = @"http://www.yohobuy.com";

    str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSURL *urll = [NSURL URLWithString:str];

    NSMutableURLRequest *requ = [NSMutableURLRequest requestWithURL:urll cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60];

    //加载

    [self.webyouhuo loadRequest:requ];

    [_webyouhuo release];

    

    

    self.viw = [[UIView alloc]initWithFrame:self.view.bounds];

    self.viw.backgroundColor = [UIColor blackColor];

    [self.view addSubview:self.viw];

    [_viw release];

    

    

}


- (void)webViewDidStartLoad:(UIWebView *)webView

{

    NSLog(@"ttttt");

    self.jihua  = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];

    self.jihua.frame = CGRectMake(0, 0, 32, 32);

    // 设置菊花在视图中心位置

    self.jihua.center = self.viw.center;

    [self.viw addSubview:self.jihua];

    NSLog(@"sdfghjk");

    

    //开始转动

    [self.jihua startAnimating];

    [_jihua release];

    

}

- (void)webViewDidFinishLoad:(UIWebView *)webView

{

    NSLog(@"1234567890");

    [self.jihua stopAnimating];

    NSLog(@"66666");

    [self.viw removeFromSuperview];//移除(结束的时候就移除)

    

    

}


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

{

    NSLog(@"vvvvvv");

    [self.jihua stopAnimating];

    [self.jihua removeFromSuperview];

}




展示结果:

file:///Users/darling/Desktop/iOS%20Simulator%20Screen%20Shot%202015年2月26日%20下午5.31.54.png




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值