码迷,mamicode.com
首页 > 其他好文 > 详细

MJRefresh的使用

时间:2015-12-22 10:09:14      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

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)
    }

 

MJRefresh的使用

标签:

原文地址:http://www.cnblogs.com/luoxiaoxi/p/5065588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!