zoukankan      html  css  js  c++  java
  • iOS开发之下拉刷新和上拉加载更多

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

    1.简介

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

      (1)UIRefreshControl

      (2)EGOTableViewRefresh

      (3)AH3DPullRefresh

      (4)MJRefresh

      (5)自己实现

    2.AH3DPullRefresh的使用

    2.1 效果图

    下拉刷新效果图:

     

    上拉加载更多效果图:

    2.2 实现

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

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

    #import "UIScrollView+AH3DPullRefresh.h"

     

    第二步, 为表格视图添加下拉刷新和上拉加载更多

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

    第三步, 下载数据后首先如果是下拉刷新的话清空数据,  在新的数据加载完成之后结束刷新

      //如果_offset=1, 刷新
        if(_offset == 1)
        {
            NSLog(@"refresh");
            [_dataArray removeAllObjects];
        }
        
        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];

    点我下载源代码 

  • 相关阅读:
    21. Node.Js Buffer类(缓冲区)-(一)
    20.Node.js EventEmitter的方法和事件
    19.Node.js EventEmitter
    18.Node.js 事件循环
    17.Node.js 回调函数--异步编程
    16.REPL 命令
    15.Node.js REPL(交互式解释器)
    14.NPM 常用命令
    **PHP Notice: Undefined index:...问题的解决方法
    **CI中的order_by在get_where之前
  • 原文地址:https://www.cnblogs.com/quietw/p/4386954.html
Copyright © 2011-2022 走看看