2014-11-06 70 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高度。結果:調整大小以填充內容的集合視圖,其他控件根據需要向上/向下移動:-)