0

通常表格很容易管理,特别是因为自动布局可以完成大部分繁重的工作以确定单元格大小等等。但是,在某些情况下,事情会变得有点棘手,比如有一张民意调查表。

在这种情况下,投票由具有可变描述长度的标签、具有不同大小的图像和一组供用户选择的选项(本质上是嵌套表)组成。

----方法一-----

将每个投票分成多个单元格

在此处输入图像描述

优点:将来很容易向投票中添加更多字段,每个元素的单个单元格的布局更容易处理,尤其是在嵌套表的情况下。如果您需要退回到手动计算特定单元格的大小,您可以在保持其他一切自动运行的同时完成此操作。

缺点:如果您有多个民意调查,您需要跟踪哪个单元格对应于哪个民意调查,并且您通常需要做一些算术来跟踪什么。

----方法2-----

让包含所有这些元素的投票成为一个大单元格,并适当地设置它们之间的约束。

在此处输入图像描述

优点:它易于实现,以一对一的方式将您的模型映射到您的单元,而无需对数据进行多重解复用。

缺点:自动布局可能会因嵌套表格而变得棘手。例如,在这种情况下,对于单元格的高度,我曾经返回 UITableViewAutomaticDimension,直到我意识到这不会削减它,因为存在可以是任何大小的嵌套表。计算嵌套表的内容大小非常简单,但是,这意味着您必须计算所有其他元素,并且现在您返回的是特定高度而不是自动的。你的工作变得如此艰难。

----结尾----

你如何处理这样的问题?方法 1、2 还是完全不同的方法?我在这里简化了元素的结构以使内容更具可读性,其中涉及更多神秘的东西,例如包含您看到的元素的阴影视图,以创建浮动卡片的错觉等。

感谢大家。

PS:如果在某个地方已经有关于这个的答案,请指出我,我只是还没有找到太多关于这个的答案。希望这篇文章可以引发一些关于此事的讨论,并帮助我的其他人。

4

1 回答 1

0

Paulw11 建议的一个直接替代方案是使用部分和方法 1。尽管这可能不包括表中表中表的情况,但对于我想象的几乎所有可以想象到的具有可观 UI 的情况来说,这已经足够了。

于 2017-09-25T09:19:09.290 回答