Swift2.2 使用UIRefreshControl实现下拉

作者: 果啤 | 来源:发表于2016-05-17 14:29 被阅读1326次

    代码如下
    <pre>
    <code>
    `
    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
    }
    

    }

    `
    </code>
    </pre>


    效果如下

    refresh.gif

    相关文章

      网友评论

        本文标题:Swift2.2 使用UIRefreshControl实现下拉

        本文链接:https://www.haomeiwen.com/subject/xyjirttx.html