swift

//
//  TTTableViewController.swift
//  tableVIewAnimation
//
//  Created by su on 15/12/11.
//  Copyright © 2015年 tian. All rights reserved.
//

import UIKit

class TTTableViewController: UITableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        //重载一下数据
        tableView.reloadData()
        //动画延时
        let diff = 0.05
        //获取tableview的高
        let tableHeight = self.tableView.bounds.size.height
        //获取所有的单元格
        let cells:[UITableViewCell] = self.tableView.visibleCells as [UITableViewCell]
        //遍历单元格
        for cell in cells {
            cell.transform = CGAffineTransformMakeTranslation(0, tableHeight)
        }
        //遍历cell顺序执行上移的动画
        for i in 0..<cells.count {
            let cell:UITableViewCell = cells[i] as UITableViewCell
            //根据序列号决定延时时间
            let delay = diff * Double(i)
            //执行动画
            UIView.animateWithDuration(1, delay: delay, options: UIViewAnimationOptions.CurveEaseInOut, animations: { () -> Void in
                //重新回到原始位置
                cell.transform = CGAffineTransformMakeTranslation(0, 0)
                }, completion: nil)
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
      
        return 20
    }

 
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell
       
        cell.textLabel?.text = "数据:(indexPath.row)"
        cell.detailTextLabel?.text = "数据(indexPath.row)"
        return cell
    }
  
}
原文地址:https://www.cnblogs.com/tian-sun/p/5038647.html