Swift:在 UITableView 中动画扩展行?
Posted
技术标签:
【中文标题】Swift:在 UITableView 中动画扩展行?【英文标题】:Swift: Animate expanding rows in a UITableView? 【发布时间】:2016-07-24 11:33:29 【问题描述】:我目前有一个 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返回布尔值。
有没有一种简单的动画方法?我在想像一个简单的计数器增加/减少,它由 heightForRowAtIndexPath 在间隔内返回。
【问题讨论】:
【参考方案1】:好的,经过一番研究,我发现了一种非常有效的方法。我会在这里发布,以防有人想知道答案。
在didSelectRowAtIndexPath中,我只需要替换
tableView.reloadData()
与
tableView.beginUpdates()
tableView.endUpdates()
【讨论】:
以上是关于Swift:在 UITableView 中动画扩展行?的主要内容,如果未能解决你的问题,请参考以下文章
按下按钮时 UITableView 标题视图的动画显示(swift)
Swift4滚动UITableview后,动画UITableview框架是错误的
滑动删除 UITableView 单元格动画在 swift 2 中不起作用
如何在 Swift 中使用 UITableView 仅使用单元格(不是部分/标题)进行扩展?