【问题标题】:UItableview reload animation from bottom to topUItableview 从下到上重新加载动画
【发布时间】:2020-01-28 20:46:25
【问题描述】:

我有一个带有部分标题的分组 UITableView 并且想要动画该组 tableview 应该从下到上动画,可以这样做吗?

【问题讨论】:

  • 动画从最后一个 indexPath 开始到第一个

标签: ios swift uitableview animation


【解决方案1】:

试试这个

@IBOutlet weak var tblVw: UITableView!

func animateTable(tblVW: UITableView) {
        tblVW.reloadData()

        let cells = tblVW.visibleCells
        let tableHeight: CGFloat = tblVW.bounds.size.height

        for i in cells {
            let cell: UITableViewCell = i as UITableViewCell
            cell.transform = CGAffineTransform(translationX: 0, y: tableHeight)
        }

        var index = 0

        for a in cells {
            let cell: UITableViewCell = a as UITableViewCell
            UIView.animate(withDuration: 1.5, delay: 0.05 * Double(index), options: .allowAnimatedContent, animations: {
                cell.transform = CGAffineTransform(translationX: 0, y: 0);
            }, completion: nil)
            index += 1
        }
    }


override func viewDidLayoutSubviews() {
         animateTable(tblVW: tblVw)
    }

【讨论】:

  • 单元格没问题,但是节标题先出现,然后单元格从下到上出现。
【解决方案2】:

只需要通过tableView改一下

func animateTable(tableView: UITableView) {

    let tableViewHeight: CGFloat = tableView.bounds.size.height
    tableView.transform = CGAffineTransform(translationX: 0, y: tableViewHeight)

    UIView.animate(withDuration: 1.5, delay: 0.05, options: .allowAnimatedContent, animations: {
        tableView.transform = CGAffineTransform(translationX: 0, y: 0);
    }, completion: nil)
}

您将移动整个 tableView,而不仅仅是单元格

【讨论】:

    猜你喜欢
    • 2013-04-07
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 2011-08-26
    相关资源
    最近更新 更多