gpt4 book ai didi

ios - 使用 `moveRowAtIndexPath:toIndexPath:` 和 `estimatedRowHeight` 时 `UITableViewAutomaticDimension` 中的 UITableViewCell 动画错误

转载 作者:可可西里 更新时间:2023-11-01 03:21:47 25 4
gpt4 key购买 nike

当使用 moveRowAtIndexPath:toIndexPath: 移动 UITableViewCell 时,我在使用 estimatedRowHeightUITableViewAutomaticDimension 时看到动画故障 当单元格从可见状态变为不可见状态时。

如果我通过实现 tableView:heightForRowAtIndexPath: 明确设置单元格的高度,问题就会消失。仅当源索引路径和目标索引路径分别可见和不可见时,才会出现此问题。当单元格移动到另一个可见的索引路径时,动画会按预期运行。

我创建了一个示例项目来说明效果:https://github.com/timarnold/Table-Cell-Sizing-Bug

http://www.openradar.me/19156703

编辑

@rdelmar 指出我的问题实际上并没有提出问题。

有谁知道解决此错误并修复此行为的方法?还是我做错了什么?

编辑 2014-12-08

我使用 Apple 提供的一张开发人员支持票向 Apple 询问了这个问题。他们确认这是一个错误(访问 http://www.openradar.me/19156703 进行欺骗)并且没有提供任何解决方法。

最佳答案

尝试缓存像元高度。

private var cellHeights = [NSIndexPath: CGFloat]()

override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if let cachedHeight = cellHeights[indexPath] {
return cachedHeight
} else {
return 60
}
}

override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
cellHeights[indexPath] = cell.frame.height
}

关于ios - 使用 `moveRowAtIndexPath:toIndexPath:` 和 `estimatedRowHeight` 时 `UITableViewAutomaticDimension` 中的 UITableViewCell 动画错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27319719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com