gpt4 book ai didi

ios - 将 UICollectionViewController 的 View 添加到 super View "programmatically"

转载 作者:行者123 更新时间:2023-11-29 13:15:32 29 4
gpt4 key购买 nike

我正在尝试执行一个简单的任务,以编程方式将 UICollectionView 添加到主视图。

我首先创建了一个“PhotosViewController.h/h/xib”文件(类型为 UIViewController),删除了给定的 View 并添加了一个 UICollectionView 作为该 Controller 的主视图,然后进行了更改“PhotosViewController.h”的父类(super class)到 UICollectionViewController。

我遵循了本教程中给出的前 6 个步骤: http://skeuo.com/uicollectionview-custom-layout-tutorial 然后跳转到第 14 步。我要做的只是在用户单击分段控制按钮时调出此 View 。

if ([segmentedControl selectedSegmentIndex]==3){
//Photos View Controller
pvc=[[PhotosViewController alloc] init];
NSLog(@"Photos segment is chosen!");
[[self view] addSubview:pvc.view]; **//Line 5**
}

但是程序在到达第 5 行 时抛出异常。

这是我收到的日志消息。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'UICollectionView must be initialized with a non-nil layout parameter'

看起来,我在这里遗漏了一些非常基本的东西。在过去的一个小时里,我一直在寻找解决这个问题的任何一种方法,但我找不到任何东西。

非常感谢任何帮助。

最佳答案

[[PhotosViewController alloc] init];

我假设这是您创建 Collection View Controller 的地方。此类的指定初始化程序是 initWithCollectionViewLayout: ,您将在其中传递布局对象。你没有传递一个,所以它提示。尝试使用该初始化器,或者,在您的子类中,确保调用它而不是 [super init],并传入一个新的流布局对象。

关于ios - 将 UICollectionViewController 的 View 添加到 super View "programmatically",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15914458/

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