gpt4 book ai didi

ios - 编辑 tableview Swift 的行高

转载 作者:行者123 更新时间:2023-11-28 11:19:19 26 4
gpt4 key购买 nike

在 tableView 中我有一个 web View ,高度单元格应该等于 webView,我试图通过以下代码编辑单元格的行高:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
let cell = tableView.cellForRowAtIndexPath(indexPath) as ActivitiesCell

return cell.webView.scrollView.contentSize.height
}

但是我在初始化 var 单元格时遇到了这个异常:“Thread 1:EXC_BAD_ACCESS(code=2,address=0x306d2c):那么如何根据 webview 高度使单元格的高度动态化?谢谢。

最佳答案

EXC_BAD_ACCESS 的原因是您试图访问 tableView 的 heightForRowAtIndexPath: 方法中的单元格。该单元格尚未创建且不存在。

tableview 调用 heightForRowAtIndexPath: 方法,然后调用 cellForRowAtIndexPath: 来创建单元格。

首先调用 heightForRowAtIndexPath: 以获取索引路径处单元格的高度。调用此 cellForRowAtIndexPath: 后,会为相应的索引路径创建单元格。

由于单元格是在 cellForRowAtIndexPath: 中创建的,并且 heightForRowAtIndexPath: 在此之前被调用,因此您无法访问那里的单元格(因为它尚未创建,否则 EXC_BAD_ACCESS 如上)。为了返回相应索引路径的单元格的动态高度,您应该根据数据模态计算高度,而不是尝试访问单元格。

关于ios - 编辑 tableview Swift 的行高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29644938/

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