gpt4 book ai didi

ios - UITableViewCell - 如何处理来自 Nibs 的动态大小的内容 View

转载 作者:行者123 更新时间:2023-11-29 11:13:37 25 4
gpt4 key购买 nike

当我想要自定义单元格时,我通常会在单元格的内容 View 中添加一个 UIView 子类。对于我的 subview 的布局,我使用了一个 Nib 。然后我将 Nib 连接到我的 UIView 子类。我的问题是如何动态调整内容的大小。假设我的 View 中有很多 UILabels。我使用 layoutSubviews 来定位所有 subview - 但只有在完成之前我才真正知道我的单元格的高度。因此,目前在 tableView:heightForRowAtIndexPath 中,我设置了我的 subview 并调用了 layoutIfNeeded,以便一切都正确定位。现在我知道我的单元格的高度并在 tableView:heightForRowAtIndexPath 方法中返回它。但是现在,当 tableView:cellForRowAtIndexPath 被调用时,我得到的单元格的高度为 44.0。当我将我的 subview 添加到它时 - 我的 subview 超出了其父级的范围。然后,当稍后在 iOS 中将单元格的大小调整为我所说的我需要的高度时,我的内容会因为我的 autoresizingMask 而被丢弃。只是想弄清楚这是否是其他人处理的问题,或者我是否正在接近它完全错误。我们要求高度,然后创建一个不是该高度的单元格,这似乎是倒退。

最佳答案

不幸的是,这就是 UITableViews 的工作方式:您需要在实际呈现 UITableViewCells 之前提供高度。是的,每个人都必须处理它。 :)

您可以创建一个 NSArray,添加所有自定义 contentView,根据预期的 contentView 边界设置它们的 frame,然后使用此数组作为 tableView:heightForRowAtIndexPath: 中的数据源> 和 tableView:cellForRowAtIndexPath:。虽然这不是很有效,但它适用于小型数据集。

另外,这里有一个关于这个主题的很好的教程: UITableViewCell Dynamic Height (by Matt Long)

关于 SO 的类似问题: How can I do variable height table cells on the iPhone properly?

关于ios - UITableViewCell - 如何处理来自 Nibs 的动态大小的内容 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10433721/

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