gpt4 book ai didi

ios - 使用 xib 子类化 UICollectionViewController

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:11:18 25 4
gpt4 key购买 nike

我正在尝试创建自定义 UICollectionViewController 子类。

我使用 Xcode 的向导创建了它:

Screenshot 1

点击Finish后,我得到了这个.xib文件:

Screenshot 2

当我尝试像这样从另一个类调用它时:

MyCollectionViewController *myCollectionViewController = [MyCollectionViewController new];

[self addChildViewController:myCollectionViewController];

[self.view addSubview:myCollectionViewController.view];

我收到这个错误:

UICollectionView must be initialized with a non-nil layout parameter

如果我使用:

MyCollectionViewController *myCollectionViewController = [[MyCollectionViewController alloc] initWithCollectionViewLayout:[UICollectionViewFlowLayout new]];

它不会崩溃,但有一些问题:

  1. 如果 .xib 文件中已经存在,为什么还需要 CollectionViewLayout
  2. 我不想在 MyCollectionViewController 之外创建布局;在这种情况下子类化的目的是什么?
  3. 整个 View 显示为空白。

最佳答案

如果在 xib 中指定了 View Controller 的 UI,则必须通过调用 [[MyCollectionViewController alloc] initWithNibName:@"MyCollectionViewController"inBundle:[NSBundle mainBundle]] 来实例化它(或者你得到你的包)。当您使用此构造函数时, View Controller 的 socket 会正确连接,并且布局会根据 xib 中的内容进行设置。

关于ios - 使用 xib 子类化 UICollectionViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33921256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com