制作一个通用的UITableViewCell Swift

时间:2017-11-01 19:42:28

标签: swift uitableview generics layout

这是一个我知道的广泛问题,我基本上都会问这个因为我不知道我会怎么做。我手头的任务是制作一个符合多个目的的通用tableViewCell,并且该单元格的布局将相应地改变为输入。首先,所有单元格必须能够具有以下内容:标题,文本正文,单个图像或多个图像,数据集合(显示在UITableViewCell内的UICollectionView中)。这个想法是用户可以创建部分,这些部分是没有类型的,因此任务是从这个通用的UITableViewCell制作正确的单元格。

例子可能是。用户创建两个部分 - 1.用户创建标题和正文,仅此而已。 2.用户创建一个主体和多个图像的部分。对于第1部分,单元格只需要包含标题和正文,而忽略其余部分。对于第2部分,我会有一个身体和一些图像。你们将如何创造这种行为?我尝试使用带有约束的故事板,但是即使我隐藏了标题,UIElement仍然存在,并且在第2节的情况下,在标题约束下面的主体仍然附加到UIElement,其中没有标题,主体应该具有约束而是单元格的顶部。如果这是广泛的,或者这个想法不够清晰可见,请让我重新说明。

2 个答案:

答案 0 :(得分:1)

尝试查看stackview。或者如果你不想使用它,我会做一个简单的技巧。

以优先级1创建一个约束到顶部。为字幕底部添加一个约束优先级为500.为优先级为1的约束创建插座。然后,只要设置了标题标题,检查它是否为空。如果是这样,将约束的优先级设置为999,否则为1。

将它用于一个元素是可以的,但是在多个元素的情况下,最好使用stackview。

答案 1 :(得分:0)

无论如何,你以某种方式定义用户来源,不是吗?所以你有一些Model - struct可以完全定义你的UI行为,所以如果你知道哪些有效字段组合以及如何呈现它们,我就不会在这里看到任何问题。是的,UI可能很容易,但它将100%定义