• iOS开发之下拉刷新和上拉加载


    iOS开发之下拉刷新和上拉加载

    1.简介

      常用的下拉刷新的实现方式

      (1)UIRefreshControl

      (2)EGOTableViewRefresh

      (3)AH3DPullRefresh  (本文实例所用)

      (4)MJRefresh

      (5)自己实现

    2.效果图

    下拉刷新

    上拉加载

    3. 代码实现过程

    3.1 首先添加AH3DPullRefresh到工程中, 设置UIScrollView+AH3DPullRefresh.m文件为非ARC(加入 -fno-objc-arc)

    在需要添加下拉刷新的.m文件中添加头文件

    #import "UIScrollView+AH3DPullRefresh.h"

     

    3.2为偏移值等于1 (_offset = 1) 以及偏移值等于10+1 (_offset += _pageSize) 添加加载方法

        [_tableView setPullToRefreshHandler:^{
            //从第一行数据开始加载
            _offset = 1;
            [self startDownloadData];
        }];
        
        [_tableView setPullToLoadMoreHandler:^{
            _offset += _pageSize;
            [self startDownloadData];
        }];

    3.3  

    (1)如果偏移值为1,数据源清空数据;

    (2)将提取下载库的数据并且存入数组list ,在数组list内遍历并赋值

    (3)最后结束刷新,并刷新tableview的数据

    //如果偏移值为1,刷新数据    
        if(_offset == 1)
        {
            NSLog(@"下拉刷新!");
            [_dataArray removeAllObjects];
        }
        
     NSArray *list = [doc nodesForXPath:@"//promotion" error:nil];
    
    //遍历数据,并赋值
        for(GDataXMLElement *promotion in list)
        {
            PromotionModel *model = [[PromotionModel alloc] init];
            model.id = [[[promotion elementsForName:@"id"] firstObject] stringValue];
            model.name = [[[promotion elementsForName:@"name"] firstObject] stringValue];
            
            [_dataArray addObject:model];
        }
    
        //结束刷新
        [_tableView refreshFinished];
        
    
        [_tableView loadMoreFinished];
        
        [_tableView reloadData];
  • 相关阅读:
    CSS3单选动画
    CSS3不一样的下拉选择框
    CSS3实现3d菜单翻转
    CSS3实现加载数据动画2
    CSS3实现加载数据动画1
    MySQL事务隔离级别和Spring事务关系介绍(转载)
    Elasticsearch7.5&Kibana7.5安装
    用nginx实现https请求转http请求(转)
    elasticsearch中多个字段聚合两种方法介绍
    window 同时安装python2和python3
  • 原文地址:https://www.cnblogs.com/SuperHanks/p/4390600.html
Copyright © 2020-2023  润新知