在xcode中动态加载UICollectionView

时间:2013-08-08 12:15:37

标签: objective-c ios4

我们有一个标签后跟一个UIViewCollection。标签的高度根据其内容动态设置。根据标签的高度,我们希望在标签结束后立即启动UIViewCollection。我们正在跟踪标签x,y,width和height,并在代码中向y添加一些填充以计算UIViewCollection的开始。但是,UIViewCollection根本不动。是因为指定的故事板吗?我们在ViewDidLoad和ViewWillAppear中尝试过它。

此外,如果我们用一个标签替换UIViewCollection,使得有一个标签位于另一个标签之下,如果代码放在ViewWillAppear中,我们就可以动态加载第二个标签的开头。

根据之前的标签高度,有人可以帮助您向上或向下移动UIViewCollection吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

可能是因为您使用了autolayout。您可以关闭autolayout或为UIViewCollection设置translatesAutoresizingMaskIntoConstraints YES,而不是设置当前位置

答案 1 :(得分:0)

如果您使用自动布局,这很容易做到,而且您无需在代码中执行任何操作来跟踪标签的高度。标签应该具有到视图顶部的高度约束和对集合视图顶部的间距约束(该约束的长度将为您提供它们之间所需的填充)。然后,集合视图需要对视图底部的约束。当标签变得更高时,此设置将使集合视图变短。相反,如果你希望集合视图的高度保持不变,但是向下移动(假设它足够短以至于有向下移动的空间),给集合视图一个固定的高度约束,并将其约束移到底部观点。