2014-01-16 31 views
0

我正在嘗試使用useLayoutToLayoutNavigationTransitions從一個佈局轉換到另一個佈局。使用佈局代理轉換UICollectionView佈局

但是,collectionView的代理不會更改爲新的視圖控制器,直到轉換完成,這意味着我不能覆蓋itemSize,間距等流佈局鉤子。我認爲這將是一個問題在流行動畫也是如此。

有沒有這樣做的建議,或者我不應該依賴委託掛鉤?在進行不需要委託掛鉤的佈局到佈局推送時,事情可以正常工作。

回答

0

我到達的解決方案是實現一個自定義佈局,不需要委託就能完成我想要的功能。事實證明這很困難,因爲UICollectionViewFlowLayout沒有鉤子,實質上,沒有委託(覆蓋頭部,項目的大小)來執行委託的角色。

廉價和骯髒的修復是抓住PSTCollectionViewFlowLayout的副本,修改它與UICollectionView一起工作(因爲它是UICollectionView的一個嵌入式替換包的一部分),然後把我的黑客做我想做的事做。

我現在有一個UICollectionViewController到UICollectionViewController轉換,看起來類似於天氣應用程序,但自動在UINavigationController棧上工作。您點擊一節以展開一節 - 其餘的大小爲高度= 0.

第一個UICollectionViewController具有UICollectionViewFlowLayout,第二個UICollectionViewController具有帶「expandedSection」屬性的已修改PSTCollectionViewFlowLayout。