swift2 下拉刷新MJRefersh使用

来源:互联网 发布:算法的复杂度分析 编辑:程序博客网 时间:2024/06/07 09:20

MJRefresh最新使用方法for swift

cocoapods安装MJRefresh,具体安装步骤:在Podfile中添加pod ‘MJRefresh’,然后安装。这个方法不会的就百度吧,最新安装方法见cocoapods官网。MJRefresh更多见github
用创建工程自带的那个ViewController.swift文件,然后引入MJRefresh,没啥好说的import MJRefresh 搞定

当然下拉你会拉 ,上拉加载也就不是事了,详见MJRefresh的github

这里写图片描述

下边是全部代码

//  Created by pcbeta on 15/11/19.//  Copyright © 2015年 呼岩东. All rights reserved.//import UIKitimport MJRefresh//引入//自带的viewcontroller和Main.storyboard绑定的,或者是你自己需要刷新的那个class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {    //这里在一个页面创建三个tableview,就是为了玩    var tableView1 = UITableView()    var tableView2 = UITableView()    var tableView3 = UITableView()    //为三个view提供三组数据    var ObjectArray1 = [String]()    var ObjectArray2 = [String]()    var ObjectArray3 = [String]()    //这个是后文用到的循环变量,不必纠结    var i = 0    //系统进来执行这里    override func viewDidLoad() {        super.viewDidLoad()        //先把三组数据弄点值        for(i;i<=10;i++){            ObjectArray1.append("\(i)")            ObjectArray2.append("\(i)")            ObjectArray3.append("\(i)")        }        //获得当前宽度        let screenWidth = self.view.frame.width        //设置三个tableView的初始位置。这个随便啊        tableView1.frame = CGRect(x: 0,y: 200 * 0,width: screenWidth,height: 200)        tableView2.frame = CGRect(x: 0,y: 200 * 1,width: screenWidth,height: 200)        tableView3.frame = CGRect(x: 0,y: 200 * 2,width: screenWidth,height: 200)        //对表的操作,交给self处理 (当前、本类处理)        tableView1.delegate = self        tableView1.dataSource = self        tableView2.delegate = self        tableView2.dataSource = self        tableView3.delegate = self        tableView3.dataSource = self        //这里,调用mjrefresh插件,添加上拉刷新方法。刷新了并调用refresh1...3来为数据添加数据        tableView1.mj_header = MJRefreshNormalHeader(refreshingTarget: self, refreshingAction: "refresh1")        tableView2.mj_header = MJRefreshNormalHeader(refreshingTarget: self, refreshingAction: "refresh2")        tableView3.mj_header = MJRefreshNormalHeader(refreshingTarget: self, refreshingAction: "refresh3")        //将三个tableview添加到页面上        self.view.addSubview(tableView1)        self.view.addSubview(tableView2)        self.view.addSubview(tableView3)        // Do any additional setup after loading the view, typically from a nib.    }    override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }    //简单的模拟一下,这里就是对cell进行操作,不多写了    func refresh1(){        print("执行刷新操作1")        tableView1.mj_header.endRefreshing() //停止刷新显示操作    }    func refresh2(){        print("执行刷新操作2")        tableView2.mj_header.endRefreshing() //停止刷新显示操作    }    func refresh3(){        print("执行刷新操作3")        tableView3.mj_header.endRefreshing() //停止刷新显示操作    }    //从这往后都是tableview的一些相关方法,    func numberOfSectionsInTableView(tableView: UITableView) -> Int {        return 1    }    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {        //区分不同的tableview进行处理//        if tableView == tableView1 {//            print("两者相等,这是触发需要处理的地方")//        }else{//            print("其他需要处理的")//        }//这里也可以用tableView的tag属性来区分不同得tableView// 设置 tableView1.tag = 1 tableView2.tag = 2 然后这里获取 这个tag进行判断区分        let cell = UITableViewCell()        cell.textLabel?.text = ObjectArray1[indexPath.row]        return cell    }    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {        return ObjectArray1.count    }}
0 0