当tableview内容大小增加时,滚动视图中的Tableview会在tableview下方的textview上升到tableview

时间:2017-12-12 14:15:20

标签: ios iphone swift uitableview ios-autolayout

我有Viewcontroller,我在其中设置了scrollview。在scrollview中我有tableview,它在Container中,在容器下面我有一个textview和一些其他UIViews,当我设置tableview框架大小等于内容大小和tableview滚动属性false时,只有当内容大小增加时scrollview滚动textview进入tableview,我希望当tableview内容增加时,textview也会下降,父视图框架大小会随着内容大小的增加而减少this is when content size is small

this is when content size increase

2 个答案:

答案 0 :(得分:1)

这看起来像是UICollectionViewController的工作。如果你想看看here

您可以更好地了解它们是什么以及如何使用它们。 基本上你想把每个UITableViews,UILabels和UIButtons放在它自己的单元格中(按钮需要排列),然后带按钮的单元格尝试使用带有图像的堆栈视图。这将自动将不同的部分彼此分开。我知道包含tableView的collectionViewCell的想法可能看起来很奇怪但check this out

另一种解决方案是使用约束和autoLayout变得疯狂。我不推荐这条路线,因为如果未明确声明确切的布局,autoLayout将自行决定。基本上,您可以通过将tableView和标签彼此固定以及它们所在的容器来设置约束。 查看Apple的文档here

祝你好运,让我知道它是怎么回事

答案 1 :(得分:0)

我建议使用xib(如果是故事板是您的偏好)或以编程方式在Scrollview控制器中嵌入tableview。设置默认单元格高度,然后通过获取单元格数量(您通常从数组中的.count获取)来计算Tableview的高度。

然后,将tableview的顶部,左侧和右侧约束约束到其父级。您可以轻松地在滚动视图中嵌入这些内容。然后,如果您想在其下面使用默认文本,您所要做的就是将textview的顶部约束到tableview的底部。

按钮的单元格。正如上面的帖子所说,按钮可能最好在CollectionView中完成,因此您可以创建默认单元格(xib再次有用)或在故事板中使用原型单元格。在填充数据时,集合视图与tableviews的原理相同,它们的格式不同,单元格之间的插入/间距也是如此。

这应该有帮助!