我在我的應用程序中有一個全屏UICollectionView
。它水平滾動,每個單元格填充集合視圖的邊界。收集視圖由UIViewController
管理。UICollectionView內的UIViewController
由於每「頁」是相當複雜的,它是有道理的每個頁面本身由相關UIViewController
進行管理。的iOS 5具有用於視圖控制器包容支持,這樣孩子控制器應該得到適當的生命週期方法(例如viewWillAppear:
等)時,視圖附接和拆卸。視圖回收可以很好地發揮作用嗎?
滾動從頁面「1」,「2」,新的視圖將被創建(如既可以在同一時間向下觸摸期間在屏幕上)。從頁面「2」移動到「3」,UICollectionView
可以成功將頁面「1」的視圖出列,但現在會發生什麼?我會強制將視圖插入視圖控制器三中嗎?
id cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ident" forIndexPath:indexPath];
UIViewController *child_controller = [self controllerAtIndexPath:indexPath];
[child_controller setView:cell];
// ... and so on
這種感覺不對。但是,我無法想到在這種情況下正確重用視圖的正確方法。我完全採用錯誤的方法嗎?
如果每個單元格填充集合視圖的邊界,爲什麼不直接使用'UIPageViewController'其'transitionStyle'設置爲'UIPageViewControllerTransitionStyleScroll'?它旨在爲每個頁面託管一個子視圖控制器。 –