gpt4 book ai didi

ios - 使用 UITableViewAutomaticDimension 重新加载 tableview,弹跳

转载 作者:行者123 更新时间:2023-11-28 05:54:15 24 4
gpt4 key购买 nike

今天,我了解了 TableView 的各种行为。每次我调用重新加载函数时它都会反弹,因为我的 TableView 单元格是动态的并且具有不同类型的内容,所以我使用 UITableViewAutomaticDimension 的属性作为行高。

最佳答案

因此,要在表的重新加载功能上解决此弹跳问题。我必须从 tableView willDisplay 单元格方法存储行的高度,并在 estimatedHeightForRowAt 中使用相同的方法。请在下面找到代码。希望它能对某人有所帮助。

var height_OfCells = NSMutableDictionary()

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
if let height = height_OfCells.object(forKey: indexPath) {
return height as! CGFloat
}

return UITableViewAutomaticDimension
}

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
height_OfCells.setObject(cell.frame.size.height, forKey: indexPath as NSCopying)
}

关于ios - 使用 UITableViewAutomaticDimension 重新加载 tableview,弹跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51925402/

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