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