iOS UIWebView 的下拉刷新和上拉加载的实现

iOS UIWebView 的下拉刷新和上拉加载的实现


UIWebView也是可以添加下拉刷新和上拉加载的,只是不能直接添加在UIWebView的头部和尾部,而是在UIWebView内部有一个属性叫scrollView 属性。我门要把下拉刷新和上拉加载添加到webView.scrollView 的头部和尾部。


下面我简单的说一说iOS UIWebView 的下拉刷新和上拉加载的实现。


首先导入第三方库:

MJRefresh


添加头文件:

#import "MJRefresh.h"


添加代理:

@interface ViewController ()<UIWebViewDelegate>


声明全局变量:

@property (nonatomicstrongUIWebView *webView;//网页


懒加载创建webView

- (UIWebView *)webView{

    

    if (!_webView) {

        

        UIWebView *webView = [[UIWebView allocinitWithFrameCGRectMake(064self.view.frame.size.widthself.view.frame.size.height-64)];

        webView.backgroundColor = [UIColor whiteColor];

        webView.delegate = self;

        

        //如果你导入的MJRefresh库不是最新的库,就用下面的方法创建下拉刷新和上拉加载事件

        webView.scrollView.header = [MJRefreshNormalHeaderheaderWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];

        webView.scrollView.footer = [MJRefreshAutoNormalFooterfooterWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];

        

        //如果你导入的MJRefresh库是最新的库,就用下面的方法创建下拉刷新和上拉加载事件

        webView.scrollView.mj_header = [MJRefreshNormalHeaderheaderWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];

        webView.scrollView.mj_footer = [MJRefreshAutoNormalFooterfooterWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];

        [self.view addSubview:webView];

        self.webView = webView;

        

        

    }

    return _webView;

}


#pragma mark - 下拉刷新

- (void)headerRefresh{


    [self loadData];

}


#pragma mark - 上拉加载

- (void)footerRefresh{

    

    [self loadData];

}


#pragma mark - 结束下拉刷新和上拉加载

- (void)endRefresh{

    

    //当请求数据成功或失败后,如果你导入的MJRefresh库不是最新的库,就用下面的方法结束下拉刷新和上拉加载事件

    [self.webView.scrollView.header endRefreshing];

    [self.webView.scrollView.footer endRefreshing];

    

    //当请求数据成功或失败后,如果你导入的MJRefresh库是最新的库,就用下面的方法结束下拉刷新和上拉加载事件

    [self.webView.scrollView.mj_header endRefreshing];

    [self.webView.scrollView.mj_footer endRefreshing];

    

}



#pragma mark - 加载网页

- (void)loadData{

    

    NSString *urlString =@"http://blog.csdn.net/wwc455634698/article/details/53005676";

    

    NSURL *url = [NSURL URLWithString:urlString];

    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    [self.webView loadRequest:request];

}


#pragma mark - UIWebViewDelegate

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

    

    return YES;

}

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

    

    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

}


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

    

    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

    

    [self endRefresh];

}


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

    

    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

    

    [self endRefresh];

}



到这里,你就实现了UIWebView 的下拉刷新和上拉加载

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值