MJRefresh的使用

1?写一个简单的tableview模版,显示数组里的数据

  

var ObjectArray = [String]()
    var i = 0
    
    override func viewDidLoad() {
        super.viewDidLoad()

for i = 0 ; i<10 ; i++ {
            self.ObjectArray.append("\(i)")
        }
    }

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return ObjectArray.count
    }

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
        cell.textLabel?.text = "这是第\(self.ObjectArray[indexPath.row])行"
        return cell
    }

2?添加MJRefresh,并创建桥接文件

  将MJRefresh拖到项目中:

  

  创建桥接文件:

  new file->source->Header file

  

  在项目-building settings中查找“bridging”设置添加的头文件的路径

  

  并在.h文件中引入第三方库

  #import "MJRefresh.h"

3?调用刷新方法

override func viewDidLoad() {
        super.viewDidLoad()

for i = 0 ; i<10 ; i++ {
            self.ObjectArray.append("\(i)")
        }
        
        self.tableView.addLegendHeaderWithRefreshingTarget(self,refreshingAction: "headRefresh")
        self.tableView.addGifFooterWithRefreshingTarget(self, refreshingAction: "footRefresh")
    }

func headRefresh(){
        self.Delay(1, closure: { () -> () in
            self.ObjectArray.removeAll(keepCapacity: false)
            for self.i = 0 ; self.i < 10 ; self.i++ {
                self.ObjectArray.append("\(self.i)")
            }
                self.tableView.header.endRefreshing()
                self.tableView.reloadData()
            //self.head.stopRefresh()
            })
    }

func footRefresh(){
            self.Delay(1, closure: { () -> () in
            let j = self.i + 10
            for self.i = 10 ; self.i < j ; self.i++ {
                self.ObjectArray.append("\(self.i)")
            }
                self.tableView.footer.endRefreshing()
                self.tableView.reloadData()
            })
    }
    //延迟函数,模拟服务器延迟
    func Delay(time:Double,closure:()->()){
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(time * Double(NSEC_PER_SEC))), dispatch_get_main_queue(), closure)
    }

时间: 2024-08-02 15:10:06

MJRefresh的使用的相关文章

MJRefresh框架

1.用MJRefresh框架实现上下拉刷新 1.1 如何使用这个框架,只需要告诉控件的scrollView是谁,就能将框架添加到我们的滚动视图中了 // 下拉刷新 MJRefreshHeaderView *header = [MJRefreshHeaderView header]; header.scrollView = self.tableView; header.delegate = self; // 开始下拉刷新 [header beginRefreshing]; / 下拉刷新 MJRef

iOS开发-MJRefresh 上下拉刷新快速集成

在ios7之前,一直在使用开源的EGO库.但是,在使用过程中发现,普遍封装得过于复杂.耦合性强,不利于集成到自己的项目中. 另外,在ios7之后,一些原有的下拉刷新,上拉加载控件表现的就不是那么出色了.除了可能出错外,也不符合扁平化的风格. 后来,在code4App上发现了一个大牛上传了一个开源代码, 仅需几行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明. 下载下来自己试了下,发现不错.  mark下. 下载链接:

MJRefresh更新,方法更简单好用。和旧版相比部分属性或者方法需要添加前缀mj_

1 // 2 // ViewController.m 3 // mjRefresh 4 // 5 // Copyright (c) 2015年 ys. All rights reserved. 6 // 7 8 #import "ViewController.h" 9 #import "MJRefresh.h" 10 11 @interface ViewController () 12 @property (nonatomic,strong)NSMutableArr

MJRefresh使用

MJRefresh, 仅需几行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明. 下载下来自己试了下,发现不错.  mark下. 下载链接:http://code4app.com/ios/快速集成下拉上拉刷新/52326ce26803fabc46000000 下面纪录下自己的集成过程,当然,作者所给的demo里面已经很详细的给出了. 这里只不过是纪录下自己的实现过程而已. 1.将MJRefresh文件夹整个导入所需的工

MJRefresh的用法

最近用到刷新的问题,然后研究了一下mj的刷新代码,受益很多,为了以后用到的时候能够迅速使用,也希望能够帮助到正在使用MJRefresh的同学,下面废话不多说,直接上图上代码! 1.  code4app下载MJRefresh包之后,按照下面步骤执行 2.集成刷新控件 3.代理方法进行刷新 4.停止刷新状态 5. 释放刷新控件(无所谓是否是arc的问题,此处一定要加)

MJRefresh框架使用及说明

一. MJRefresh的类解释. 1.MJRefreshComponent              所有刷新控件的基类别.(component: 成分,组件) 2.MJRefreshNormalHeader          默认的下拉刷新控件 3.MJRefreshAutoNormalFooter    默认的上拉刷新控件                下拉刷新控件自适应在页面内容下面 4.MJRefreshAutoGifFooter          带动态图的上拉加载控件      

关于MJRefresh的下拉加载数据bug

当没有更多数据的时候显示NoMoreData 我的理解是先结束刷新再显示没有更多 今天之前一直没发现有问题 贴之前的代码 [self.collectionView reloadData]; [self.collectionView.mj_header endRefreshing]; // 结束刷新 [self.collectionView.mj_footer endRefreshing]; NSArray *arr = data[@"Json"]; if (arr.count == 0

iOS:详解MJRefresh刷新加载更多数据的第三方库

原文链接:http://www.ios122.com/2015/08/mjrefresh/ 简介 MJRefresh这个第三方库是李明杰老师的杰作,这个框架帮助我们程序员减轻了超级多的麻烦,节约了开发时间,提高了开发效率.由于目前能力有限,尚不能自己写一套框架,所以就先膜拜和看明白大牛的框架了. 用于为应用添加常用的上拉加载更多与下拉刷新效果,适用 UIScrollView . UITableView . UICollectionView . UIWebView. gtihub上的地址:http

mjrefresh源码分析

最近想自己写个下拉刷新的库,但是始终感觉无从下手,想想总是容易的.原理也很简单,真正要下手写的时候,呵呵.不得不说ios封装得很好,网上可以用的成熟的库也很多,也正是因为如此很多开发者也忽略了很多底层的东西,真正要去说清楚这些库的原理也说不清楚.以至于这两天说想自己写个下拉,蛋疼..听很多从c++转到其他开发诸如c#或者ios或者java的朋友都说其实这些代码写起来都没有c++或者c写起来爽,不过开发的速度的确是c++没法比的.呵呵答. 今天研究了下mjrefresh,认真看了一下午,各处打断点

上拉刷新和下拉刷新的两种方法(包括使用第三方库MJRefresh)

一.使用苹果原生的方法 1.下拉刷新 2.上拉刷新 (1 首先要新建一个footer得XIB文件,当然同时包括对应的控制器文件,例如在XIB文件中可以如下拖拉对应的控件 (2 然后在代码文件中写一个实例方法 +(instancetype)footer { return  [[[NSBundle mainBundle] loadNibNamed:@"XIB文件名" owner:nil options:nil] lastObject]; } (3 然后在我们的列表控制器中调用: /** *