Ios 如何在UITableView swift 3中使用动画在底部滚动

Ios 如何在UITableView swift 3中使用动画在底部滚动,ios,arrays,swift,uitableview,Ios,Arrays,Swift,Uitableview,如何在UItableView重新加载时设置表视图的页脚视图动画 我试图将一个元素附加到tableView中,当tableView重新加载时,页脚视图应该附带一些动画。而且,如果表视图内容超过屏幕大小,则页脚视图应与屏幕底部保持一致。以下是我的尝试: tableView.beginUpdates() self.familyAModelArray.append(self.childAModelArray) tableView.endUpdates() 注意:这里我想将一个对

如何在UItableView重新加载时设置表视图的页脚视图动画

我试图将一个元素附加到tableView中,当tableView重新加载时,页脚视图应该附带一些动画。而且,如果表视图内容超过屏幕大小,则页脚视图应与屏幕底部保持一致。以下是我的尝试:

    tableView.beginUpdates()
    self.familyAModelArray.append(self.childAModelArray)
    tableView.endUpdates()

注意:这里我想将一个对象附加到一个数组中,该数组是UITableView的内容,并重新加载TableView。提前谢谢

要设置插入动作的动画,需要使用行动画调用
insertRowsAtIndexPaths
方法

将表单元格元素添加到数组后,必须计算要显示的新单元格的索引路径,并创建它们的数组,如下所示

let indexes = [IndexPath(row: 0, section: 0), IndexPath(row: 1, section: 0)]
然后只需调用以下方法来设置插入动画

tableView.beginUpdates()
tableView.insertRowsAtIndexPaths(indexes, withRowAnimation: .Fade)
tableView.endUpdates()

如果希望页脚视图粘贴在屏幕底部,那么它不应该是页脚视图。它应该是固定到视图控制器视图的自定义UIView。每当您在tableView上调用reloadData()时,您也可以在固定到底部的新自定义视图上调用present/animate函数,并在屏幕上/屏幕下对其进行动画制作。

当UITableView在追加行后重新加载时,我使用UIView上的动画解决了这一问题

UIView.transition(with: tableView, duration: 0.2, options: .curveEaseIn, animations: {self.tableView.reloadData()}, completion:{ (success) in
            if success {
                if self.familyAModelArray.count >= 3{
                    self.scrollToBottom()
                }
            }
        })
如果我的数组长度大于3,则页脚视图会通过将UITableView滚动到顶部而停留在底部

func scrollToBottom(){
    DispatchQueue.global(qos: .background).async {
        let indexPath = IndexPath(row: self.familyAModelArray.count-1, section: 0)
        self.tableView.scrollToRow(at: indexPath, at: .top, animated: true)
    }
}

此解决方案为我的表视图提供了良好的外观。

您正在向表视图添加内容。你想要什么类型的动画?您想设置插入新行的动画吗?@方明宁感谢您的快速回复。是的,我想用动画将新行插入底部,并且页脚视图位于最后一个单元格的下方。