在ios中的不同视图上管理相同的CollectionView

时间:2012-10-20 18:40:57

标签: ios cocoa-touch viewcontroller reusability

我在其中一个屏幕上有一个CollectionView。选择其中一个单元格转换到另一个视图。在这个新视图的底部,我想要呈现相同的集合。

所以我在主屏幕上有一个ItemsCollectionController - 在ItemsCollectionController.m中

我有第二个屏幕的WorkAreaController。在WorkArea.xib中,我在屏幕底部添加了一个CollectionView。我想让ItemsCollectionController来管理它。

当WorkArea viewDidLoad没有任何内容时,尝试使用WorkArea.xib手动实例化ItemsCollectionController。

不仅我想要同一个类来处理两个集合。我甚至想要使用ItemsCollectionController的相同实例来完成它。我可以只更改正在运行的实例的视图出口吗?

我看到了这个seemingly similar question,但这不是我想要的。

感谢

1 个答案:

答案 0 :(得分:0)

我找到了办法。 让我们假设我有一个管理CollectionView的控制器C1。 现在我想更改为另一个视图,由控制器C2管理,在该视图上,我仍然希望显示由C1管理的CollectionView的内容。

我发现这样做的方式是:

  1. 在切换到C2.view之前:

     [C1.myCollectionView removeFromSuperView] 
    
  2. 这将确保视图可以重复使用。

    2.现在让我们切换到新控制器及其视图

    [UIView transitionFromView:C1.view
               toView:C2.view
                ....
                 ...
    
    1. 要将C1.myCollectionView添加到C2.view,我们需要修改C2的{strong> viewDidLoad <{1}}

    2. 现在只需将collectionView重新加载

    3. 即可

      [self.view addSubView:C1.collectionView]

      希望这有助于某人