我正在尝试创建一个自定义 UICollectionViewController
子类。
我使用 Xcode 的向导创建了它:
点击 Finish
后,我得到了这个 .xib
文件:
当我尝试从另一个类中调用它时:
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]];
它不会崩溃,但有一些问题:
.xib
文件中已经存在 CollectionViewLayout
,为什么还需要它?MyCollectionViewController
之外创建布局;在这种情况下,子类化的目的是什么?如果在 xib 中指定了 View Controller 的 UI,那么您必须通过调用 [[MyCollectionViewController alloc] initWithNibName"MyCollectionViewController"inBundle:[NSBundle mainBundle]]
(或者你得到你的 bundle )。当您使用此构造函数时, View Controller 的导出会正确连接,并且布局是根据 xib 中的内容设置的。
关于ios - 使用 xib 子类化 UICollectionViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33921256/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |