执行“beginUpdates”“endUpdates”时 UITableView 页脚视图的动画问题
Posted
技术标签:
【中文标题】执行“beginUpdates”“endUpdates”时 UITableView 页脚视图的动画问题【英文标题】:animation issue with UITableView footer View when performing "beginUpdates" "endUpdates" 【发布时间】:2014-12-02 22:47:25 【问题描述】:当我使用动画更改单元格高度时(使用 beginUpdates()、endUpdates()),我的部分页脚有一个非常奇怪的动画:它在 tableview 的底部移动。
这是我能写的最简单的代码
func tableView(tableView: UITableView, titleForFooterInSection section: Int) -> String?
return "footer"
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
return cellHeight
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return 1
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
return tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
tableView.beginUpdates()
cellHeight += 20;
tableView.endUpdates()
如何避免这个动画问题?
【问题讨论】:
我想知道这段代码是如何工作的。cellHeight += 20
是什么意思?
是停留在底部还是只是暂时的状态?
查看这篇文章***.com/questions/5740518/…
【参考方案1】:
我遇到了完全相同的问题(页脚移动到 tableview 的底部并停留在那里)。 看起来这是一个 ios8 的错误(在 iOS7 上不会发生)。
就我而言,一种解决方法是将页脚作为下一节标题返回...
【讨论】:
以上是关于执行“beginUpdates”“endUpdates”时 UITableView 页脚视图的动画问题的主要内容,如果未能解决你的问题,请参考以下文章
beginUpdates/endUpdates 后出现意外的表格单元格动画
何时在 CarPlay 中使用 beginUpdates() 和 endUpdates()
带有 beginUpdates() 的 UITableView 反弹
UITableView beginUpdates/endUpdates 回调
UITableView 意外反弹 beginUpdates()/endUpdates()/performBatchUpdates()