我有一個CollectionViewCell放置在CollectionView中。 CollectionView的大小通過自動佈局進行設置,並且可以隨時更改。CollectionViewCell與CollectionView的自動佈局大小
我想(以編程方式)在我的CollectionView上設置約束,以便CollectionViewCell的大小能夠響應CollectionView的大小(比如說Cell的寬度等於CollectionView-100的寬度,高度應該相等)。
如何聲明Cell和CollectionView之間的約束?
何時,何地以及如何設置這些約束?當CollectionView的大小發生變化時,是否必須在單元格上調用setNeedsLayout?
我搜索了這麼長時間,我發現的總是根據其內容改變單元的大小 - 這不是我想要做的。我得到的唯一提示是我可能必須子類CollectionViewLayout - 但我不確定這一點。
任何幫助表示讚賞!
我必須把這個在我的CollectionView的大小發生變化後再次使用函數以便單元格適應? – chl
是的,您每次需要調用'reloadData'時,collectionView的大小會發生變化 –
如果我使用Core Animation來動畫改變CollectionView的大小(animateWithDuration和layoutIfNeeded,如http://www.objc.io/issues/3-views /高級自動佈局工具箱/#動畫)我必須經常設置某種間隔和調用reloadData嗎?因爲可能沒有辦法知道CollectionView的最終尺寸,所以我不能在Cell上使用animiationWithDuration ... – chl