关闭

swift2 下拉刷新MJRefersh使用

标签: MJRefreshswiftswift2-0ios9
558人阅读 评论(0) 收藏 举报
分类:

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 UIKit
import 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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13231次
    • 积分:214
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论