如何使用自動佈局更改基於子視圖大小的UICollectionViewCell
的大小?如何使UICollectionViewCell適合其子視圖(使用自動佈局)
我的UICollectionViewCell
每個只在他們的contentView
有一個視圖。這是我的一個自定義UIView
子類,可以使用自動佈局自動調整其大小以適合其所有子視圖。它也正確實施了-intrinsicContentSize
。然而,UICollectionView
,或者說它的佈局,似乎並不關心這一點。
我使用的是UICollectionViewFlowLayout
,並嘗試:
- 離開
itemSize
其默認值。這使我的單元格大小爲50 x 50. - 實施委託方法
-collectionView:layout:sizeForItemAtIndexPath:
。但是,當調用此方法時,單元格(顯然)尚未出現在屏幕上,並且尚未由Auto Layout系統更新。
有什麼方法可以根據使用標準Apple類的子視圖更改單元格大小?或者我是否必須實現我自己的UICollectionViewLayout
子類,或其他?
原理相同http://stackoverflow.com/questions/18477220/have-uitableviewcell-resize-itself-with-autolayout/18481179#18481179,不幸的是,您需要預先給出尺寸。 – jrturton
上面的作者在使用「自由」單元格時有一個評論 - 您創建一個然後保持周圍,以填充並獲取大小。你應該能夠使用[單元systemLayoutSizeFittingSize:UILayoutFittingCompressedSize] - 我現在有問題,但其中的一個應該工作。 –