Swift2.2 使用UIRefreshControl实现下拉刷新的简单功能


代码如下



`
import UIKit

class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource
{
//下拉刷新控件
let refresh = UIRefreshControl()
//表视图
var tableView : UITableView?
//存放当前时间的数组
var arrayDate = NSDate

//更新数据
func refreshData()
{
    //获取当前时间
    let newDate = NSDate()

    //在数组最前位置插入新元素
    arrayDate.insert(newDate, atIndex: 0)

    //表视图重载数据
    tableView?.reloadData()
    
    //结束刷新
    refresh.endRefreshing()
}


override func viewDidLoad()
{
    super.viewDidLoad()
    
    arrayDate.append(NSDate())
    
    //设置表视图的properties
    tableView = UITableView(frame: CGRectMake(0, 20, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height-20), style: .Plain)//.Plain->标准表视图风格   .Grouped->分组表视图风格
    tableView!.rowHeight = UIScreen.mainScreen().bounds.height/10//设置cell高度
    tableView!.dataSource = self
    tableView!.delegate = self
    tableView?.registerClass(UITableViewCell.self, forCellReuseIdentifier: "reuseCell")//注册重用单元格
    
    //在view中添加子视图tableView
    self.view.addSubview(tableView!)
    
    //设置refreshControl的properties
    refresh.backgroundColor = UIColor.blueColor()
    refresh.tintColor = UIColor.redColor()
    refresh.attributedTitle = NSAttributedString(string: "啦啦啦")
    refresh.addTarget(self, action: #selector(ViewController.refreshData), forControlEvents: .ValueChanged)
    
    //在tableView添加子视图refresh
    tableView!.addSubview(refresh)
    
    //tableView重载数据
    tableView!.reloadData()
}


//设置表视图节数
func numberOfSectionsInTableView(tableView: UITableView) -> Int
{
    return 1
}

//设置表视图中每节中的行数
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
    return arrayDate.count
}

//设置cell
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
    
    let cell = UITableViewCell(style: .Default, reuseIdentifier: "reuseCell")

    //设置日期格式
    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy年MM月dd日/HH时mm分ss秒"
    let dateStr = dateFormatter.stringFromDate(arrayDate[indexPath.row])
    cell.textLabel?.text = dateStr
    return cell
}

}

`


效果如下

Swift2.2 使用UIRefreshControl实现下拉刷新的简单功能_第1张图片
refresh.gif

你可能感兴趣的:(Swift2.2 使用UIRefreshControl实现下拉刷新的简单功能)