我目前有一个 UITableView,其中一行返回 0.0,当用户点击“显示更多”按钮时,它会展开。当发生这种情况时,上面的行会根据容器的高度返回一个特定的值,这会立即发生。我想做的是在扩展/减小时为其创建某种动画。
这是我目前的代码:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == 2 && self.numberOfElements >= 2 {
if detailsVisible == false {
self.showMoreLabel.text = "Show more (\(self.numberOfElements - 1))"
return 0.0
}
else {
self.showMoreLabel.text = "Show less"
return embedKonteringHeight
}
}
}
如果可扩展内容是否显示,var detailsVisible 返回 bool 值。
有没有简单的方法来制作动画?我在想一些类似简单的计数器增加/减少的东西,它在一个时间间隔内由 heightForRowAtIndexPath 返回。
最佳答案
好的,经过一番研究,我发现了一种非常有效的方法。如果有人想知道答案,我会张贴在这里。
在didSelectRowAtIndexPath中,我只需要替换
tableView.reloadData()
与
tableView.beginUpdates()
tableView.endUpdates()
关于Swift:在 UITableView 中动画扩展行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38551563/