2014-11-06 78 views
0

我有一个视图控制器,顶部有一个UICollectionView(使用默认网格布局),后面跟着其他控件。当我向/从集合视图中添加/删除单元格时,我希望它在垂直方向上展开/收缩(因此它有足够的行来显示所有单元格并且不再显示),并且它下面的所有控件向下/相应地调整屏幕。如果您想象当添加/删除地址时电子邮件应用UI的工作原理,那就是我试图实现的效果。尽管如此,使用约束来实现这种效果正在使我避而远之。任何帮助将大大,非常感谢!iOS:动画UICollectionView垂直扩展与约束?

+0

我有视图控制器代码,包括处理集合视图单元格添加/删除的代码,但我怀疑这会有所帮助。我刚刚在IB中布置了控件,并选择了“添加所有缺少的约束”。当我向/从集合视图中添加/删除单元格时,我希望它调整大小以适应其内容,并让其他控件自动向上/向下移动,但迄今为止我已阅读的所有关于约束的文档都涉及定位比调整大小。 – 2014-11-06 15:58:48

回答

1

我所做的:

  1. 取消了所有限制在IB
  2. 在集合视图中添加的高度约束,它连接到一个IBOutlet
  3. 有IB添加缺少约束
  4. 添加一个观察者为集合视图的contentSize属性

现在,当我添加一个单元格到集合视图和电话l要重新加载,当contentSize更改时,我会收到通知,并且可以将高度约束的常量设置为contentSize高度。结果:调整大小以填充内容的集合视图,其他控件根据需要向上/向下移动:-)