0

我在其中一个屏幕上有一个 CollectionView。选择其中一个单元格将转换到另一个视图。在这个新视图的底部,我希望展示相同的集合。

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

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

当 WorkArea viewDidLoad 时,尝试使用 WorkArea.xib 手动实例化 ItemsCollectionController - 什么都没有。

不仅如此,我希望同一个类来处理这两个集合。我什至希望有相同的 ItemsCollectionController 实例来做到这一点。我可以只更改正在运行的实例的视图出口吗?

我看到了这个看似相似的问题,但这不是我想要的。

谢谢

4

1 回答 1

0

我找到了方法。假设我有一个控制器 C1 管理一个 CollectionView。现在我想更改为由控制器 C2 管理的不同视图,在该视图上,我仍想显示由 C1 管理的 CollectionView 的内容。

我发现这样做的方法是:

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

     [C1.myCollectionView removeFromSuperView] 
    

这将确保可以重用视图。

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

[UIView transitionFromView:C1.view
           toView:C2.view
            ....
             ...
  1. 并且要将 C1.myCollectionView 添加到 C2.view 我们需要修改C2的viewDidLoad [self.view addSubView:C1.collectionView]

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

[C1.collectionView reloadData];

希望这对某人有帮助

于 2012-10-21T09:43:25.167 回答