具有复杂结构和 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 的表格视图单元格高度 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
尝试调用 Dll,但该方法具有复杂的结构类型,我无法在 .Net 中定义它
将json字符串解析为具有复杂数据结构的java(jackson)