具有复杂结构和 UITableViewAutomaticDimension 的表格视图单元格高度 [关闭]

Posted

技术标签:

【中文标题】具有复杂结构和 UITableViewAutomaticDimension 的表格视图单元格高度 [关闭]【英文标题】:Table View cell height with complicated structure and UITableViewAutomaticDimension [closed] 【发布时间】:2016-10-04 15:13:37 【问题描述】:

如何创建包含大量子视图的复杂结构的自动表格视图单元格大小?

这里是表格视图单元格的示例:

例如,表格视图单元格的总高度为 220 px: 棕色区域 - 70 像素,绿色区域 90 像素,红色 - 10 像素和黑色 - 50 像素。蓝色区域始终与 tableview 单元格高度相同。

如何通过删除/隐藏/任何整个绿色区域来使用自动布局和 UITableViewAutomaticDimension 将 tableview 单元格高度降低为 130 像素?

是否有可能使用 UITableViewAutomaticDimension 和正确的约束来实现它,而无需任何旧式方法?

注意:最低版本是 ios 8(但 iOS 9+ 解决方案也可以,我会增加最低版本...)

【问题讨论】:

只需设置约束;)我们无法为您做到这一点。如果您随后遇到具体问题,请随时提出。事实上,这个问题太宽泛了。 “是否可以使用 UITableViewAutomaticDimension 来实现它并在没有任何旧式方法的情况下纠正约束?”是的。您了解自动单元格高度的工作原理吗? 【参考方案1】:

我建议使用垂直的 UIStackView,其中包含其他所有内容。堆栈视图有一个很棒的特性,它为你设置了它包含的视图的约束——它会在你插入或删除包含的视图时进行补偿,这似乎是你所追求的。每次删除或插入视图时,您都可以自己设置这些约束,但您的问题暗示您不知道该怎么做。 UIStackView确实知道怎么做。

【讨论】:

具有正确约束的 UIStackView 成功了,谢谢 非常酷。很高兴我的建议成功了!感谢您的反馈。【参考方案2】:

添加约束后,您可以为附加到绿色部分的高度约束创建一个出口,并将其更改为 height = 0(或任何您想要的),然后更改整个单元格的高度。

【讨论】:

以上是关于具有复杂结构和 UITableViewAutomaticDimension 的表格视图单元格高度 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

用于从具有复杂结构的表中选择数据的 sql 查询

尝试调用 Dll,但该方法具有复杂的结构类型,我无法在 .Net 中定义它

算法与数据结构:堆排序

将json字符串解析为具有复杂数据结构的java(jackson)

具有 group by 和/或 distinct 和 pivot 的复杂 SQL Server 查询

具有复杂命令的 Python 子进程