swift2 下拉刷新MJRefersh使用

原创 2015年11月19日 16:53:40

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
    }

}

MJRefresh只刷新一次问题

今日项目中用到MJRefresh这个第三方 的刷新库,但是遇到一个比较尴尬的问题就是,只能刷新一次,经过多方查询,终于知道原因现将代码贴出共同学习进步     我用的是block方法 __wea...
  • shan1991fei
  • shan1991fei
  • 2016年12月02日 14:07
  • 1408

MJRefresh实现动画下拉刷新

项目中需要使用下拉的动画效果,MJ上的是图片在左,文字在右(而且没有样式选择),我们需要的是图片在上文字在下,我们只需要继承MJRefreshGifHeader,即可修改样式。 -(void)pre...
  • IT_201607
  • IT_201607
  • 2017年03月08日 17:07
  • 396

使用MJRefresh给表格添加上拉刷新,下拉刷新

// // WordViewController.m #import "WordViewController.h" #import #import #import "Topic.h" #im...
  • github_26672553
  • github_26672553
  • 2016年07月13日 11:23
  • 452

UICollectionView的高级使用和上拉加载下拉刷新

今天在做项目的时候,遇到好多问题,是时候总结一些了!!!! 第一:cell的label.text (自定义的)多次覆盖,形如煤球,看不懂 第二:cell...
  • zhang_pengfei
  • zhang_pengfei
  • 2016年03月05日 18:49
  • 8333

iOS开发之 - 刷新框架 MJRefresh 的使用

【文章目录】 一、类结构图 MJRefreshComponent.hMJRefreshHeader.hMJRefreshFooter.hMJRefreshAutoFooter.h 二...
  • wanglei0918
  • wanglei0918
  • 2017年06月28日 12:13
  • 461

swift开发---- XWSwiftRefresh 下拉刷新 上拉加载

github地址 https://github.com/boyXiong/XWSwiftRefresh 使用方法   支持 Swift2.0 ~ 3.0 支持cocoapod ...
  • perla_
  • perla_
  • 2016年09月01日 09:33
  • 2573

用Swift实现淘宝和大众点评的下拉刷新

来自Leo的原创博客,转载请著名出处我的StackOverflow我的Github https://github.com/LeoMobileDeveloper效果淘宝 大众点评 项目地址其中 大...
  • Hello_Hwc
  • Hello_Hwc
  • 2016年07月15日 16:28
  • 4376

JS实现页面加载完成之后自动刷新一次

先贴出代码,如果有兴趣看我解题思路的可以看下,没兴趣的直接拿走用,节省时间。        window.onload = function(){ var url=document.locatio...
  • lizexing1
  • lizexing1
  • 2016年11月15日 20:48
  • 5801

swift3自定义下拉刷新控件(一)

原理是利用KVO在willMovetoSuperview和removeFromSuperview分别增加和删除属性监视,代码如下 // // TGRefreshCtl.swift // refre...
  • callzjy
  • callzjy
  • 2017年02月23日 01:31
  • 864

简单的定时刷新和周期刷新的定时器

安卓使用Alarm实现一个简单的定时刷新和周期刷新的定时器alarmManger的获得 AlarmManger am= Context.getSystemService(Context.ALARM...
  • chenxin_oo
  • chenxin_oo
  • 2016年05月06日 15:20
  • 952
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:swift2 下拉刷新MJRefersh使用
举报原因:
原因补充:

(最多只允许输入30个字)