我的App中有一个全屏的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
?它被设计用于每页托管一个子视图控制器。 - rob mayoff