Xamarin iOS:如何将故事板中的视图连接到控制器?

Xamarin iOS: How to connect a view from a storyboard to a controller?

我有一个带有 ViewController 的故事板,在 ViewController 中我有一个带有原型单元格的 UICollectionView。

我已经有一个 "MyCollectionViewController"(因为我试图将我的 CollectionViewController 包装在 ViewController 中)。现在我想重用那个控制器,但我不知道如何将情节提要中的 CollectionView 与新的 CollectionViewController 连接起来。 将 CollectionViewController 中的 CollectionView 分配给 ViewController 中的 Outlet 似乎不起作用。

我知道我可以将单元格原型制作为 .xib 文件并在代码中创建 CollectionView。但是我的雇主更喜欢将所有内容都放在情节提要中以便于维护。

编辑: chkn 的回答效果很好。 要将父视图控制器连接到容器,您可以像这样覆盖 PrepareSegue 方法。

    public override void PrepareForSegue (UIStoryboardSegue segue, NSObject sender)
    {
        base.PrepareForSegue (segue, sender);
        if (segue.SourceViewController == this) {
            if (segue.DestinationViewController.GetType () == typeof(MyChildViewController)) {
                MyChildViewController childViewController = segue.DestinationViewController as MyChildViewController;
            }
        }
    }

您不能将一个视图控制器中的视图分配到另一个视图控制器上的插座。

但是,您可以有一个包含集合视图的视图控制器,然后使用容器视图将该视图控制器嵌入到其他视图控制器中。

只需创建托管 UICollectionView 的视图控制器(使用 UICollectionViewController 很容易,但没关系)。然后在每个你想嵌入它的视图控制器上,从工具箱中拖出一个容器视图并删除它附带的默认视图控制器。然后,按住 Ctrl 并从容器视图拖动到要嵌入的共享 UICollectionView 控制器。

您的故事板可能如下所示:

此处提供该示例:
https://github.com/chkn/StoryboardExamples/tree/master/CollectionViewReuse