Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建通用UITableViewCell Swift_Swift_Uitableview_Generics_Layout - Fatal编程技术网

创建通用UITableViewCell Swift

创建通用UITableViewCell Swift,swift,uitableview,generics,layout,Swift,Uitableview,Generics,Layout,这是一个广泛的问题,我知道,我问这个基本上是因为我不知道我将如何去做这件事。我手头的任务是制作一个通用的tableViewCell,它可以同时满足多种用途,并且该单元格的布局将根据输入而相应地改变。首先,所有单元格必须具有以下内容:标题、正文、单个图像或多个图像、数据集合(显示在UITableViewCell内的UICollectionView中)。其思想是,用户可以创建节,这些节不是类型,因此任务是从这个通用UITableViewCell生成正确的单元格 比如说。用户创建两个部分-1。部分用户

这是一个广泛的问题,我知道,我问这个基本上是因为我不知道我将如何去做这件事。我手头的任务是制作一个通用的tableViewCell,它可以同时满足多种用途,并且该单元格的布局将根据输入而相应地改变。首先,所有单元格必须具有以下内容:标题、正文、单个图像或多个图像、数据集合(显示在UITableViewCell内的UICollectionView中)。其思想是,用户可以创建节,这些节不是类型,因此任务是从这个通用UITableViewCell生成正确的单元格


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

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

在顶部创建一个优先级为1的约束。还为字幕顶部到标题底部添加一个优先级为500的约束。为优先级为1的约束创建出口。然后,每当设置标题时,检查标题是否为空。如果是,则将约束的优先级设置为999,否则设置为1


可以对一个元素使用它,但如果有多个元素,最好使用stackview。

不管怎样,您以某种方式定义了用户源,不是吗?所以你有一种模型结构,它可以完全定义你的UI行为,所以如果你知道什么样的字段组合是有效的,以及它们是如何呈现的,我在这里看不到任何问题。是的,也许UI并不容易,但它将是100%定义的

很好的答案。我将尝试实现这一点。但是,对于stackview,您是否会在情节提要中将所有元素添加到此stackview?如果是这样的话,如何解决在忽略某些元素的同时保留其他元素的问题?要从堆栈视图中直观地删除元素,只需将其隐藏即可。它将自动将其高度设置为0。当你有一个填充的元素时要小心。您应该使其填充约束具有优先级999。否则你会收到违反限制的警告。你好@Luzo我终于让它工作了!!非常感谢你,我在你的答案上做了标记,并投了赞成票。对于其他人,我推荐stackview,我遵循了本教程,我非常推荐: