zoukankan      html  css  js  c++  java
  • 下拉刷新的视图

    这次介绍一个下拉刷新的视图

    //第三方开源库  封装了下拉刷新的视图(把它加到UITableView上,会随着拖拽tableview发生不同的变化)

    下拉的刷新是利用了一个第三方的开源库 进去看了一下发现没有看懂,这才觉得原来还需要更多的学习,言归正传,下边开始记录学习的过程。

    首先导入第三方开源库,这个文件我放在了园内的文件里名字叫day14source.zip 在这个第三方开源库里 有它自己规定的图片用来显示下拉的时候的图片变化

    在实现这个下拉实现的前提是:必须得先建一个能够正常运行的tableView视图,然后再这个视图的基础之上添加代码。

    1、在头文件上添加第三方头文件  并封装协议

    #import "EGORefreshTableHeaderView.h"

    EGORefreshTableHeaderDelegate

    在这个下拉视图的代码中 有下拉tableview 然后让下拉视图产生响应,在这个过程中会有scrowllview的代理响应(tableView是一个特殊的scrollView)

    2.声明一个下拉刷新的视图对象

    EGORefreshTableHeaderView * _refreshView;

    在初始化界面的时候创建   EGORefreshTableHeaderView  对象 

    1 _refreshView=[[EGORefreshTableHeaderView alloc]initWithFrame:CGRectMake(0, -_tableView.frame.size.height, _tableView.frame.size.width, _tableView.frame.size.height)];
    2     //设置刷新视图的代理
    3     _refreshView.delegate=self;
    4     [_tableView addSubview:_refreshView];
    5     //显示最近一次刷新时间
    6     [_refreshView refreshLastUpdatedDate];

    先总得说明一下思路 创建一个下拉对象EGPRefreshTableHeaderView 初始化后设置代理,因为它的代理EGORefreshTableHeaderDelegate 是继承scrollview代理的,所以不用再添加scrollview的代理了,EGPRefreshTableHeaderView初始化放在在当前tableview上方,使用asi刷新数据之后 在finished的方法上设置刷新结束的标志 调用(刷新对象)egoRefreshScrollViewDataSourceDidFinishedLoading:(tabview对象) 的函数    然后代理会调用两个函数

    //通过此方法 来告诉刷新视图 当前是否正在刷新(当前是否有刷新任务)
    //返回值为no 证明当前没有刷新任务 可以执行刷新操作
    //返回值为yes 证明当前正在进行刷新的任务 不会再执行刷新操作了
    - (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView *)view{
        return _isRefresh;
    }
    //上面的返回值为NO 执行此方法 refreshView开始执行刷新操作
    - (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView *)view{
        //实现刷新数据的代码
        if (_isRefresh==NO) {
            _isRefresh=YES;//改变bool值为yes 标记为正在刷新
        }
        //重新请求第一页的数据
        [self loadDataWithPage:1];
        
    }
    //nsdata 用于操作和获取时间的类  (xxxx年xx月xx日xx时:xx分xx秒)
    //返回此次刷新操作对应的时间
    - (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{
        //返回系统的当前的时间
        return [NSData data];
    }
    

     这样就可以实现下拉列表的实现了

  • 相关阅读:
    还贷的那些事V——等增幅还贷的计算
    计算机中的颜色X——两颜色的偏转值
    高亮显示不区分大小写的关键字——ASP
    一道算法题,看看大家的思路
    一道算法题,看看大家的思路(续)
    IQCar的实现II——解题思路
    IQCar的实现I——IQCar的介绍
    Flex画流程图
    jQuery源码研究01
    javascript笔记:javascript里面不同function定义的区别
  • 原文地址:https://www.cnblogs.com/AbelChen1991/p/3598571.html
Copyright © 2011-2022 走看看