如何将collectionview作为子视图添加到viewcontroller
Posted
技术标签:
【中文标题】如何将collectionview作为子视图添加到viewcontroller【英文标题】:How to add collectionview as subview to viewcontroller 【发布时间】:2014-05-21 17:23:19 【问题描述】:当我想将它作为子视图添加到我的 ProfileViewController 时,我的 collectionview 出现了一点问题。当我想重新加载collectionview时出现问题,xcode给我一个错误property 'collectionview' not found on type of ProfileViewController。 我该如何克服这个问题?我要创建一个新的 collectionview 类文件并将其设置为 ProfileViewController 上的 collectionview 吗?下面是我的故事板的图像。
故事板的图片位于此链接。 http://i.stack.imgur.com/XSE29.png 。 由于我的声誉很低,我无法在此帖子中附加图片。
【问题讨论】:
那么视图是否最初加载并且仅在您尝试重新加载集合视图时才给出错误?还是在加载包含集合视图的视图时立即发生崩溃。您遇到的错误通常是由不再存在的对象上设置的插座引起的(插座已在 IB 中连接,然后在代码中删除)。 您必须将情节提要中的视图连接到代码中的 IBOutlet。 Xcode 不会为您这样做,Xcode 仅在您将 CollectionViewController 添加到情节提要时才会这样做。如果您调用该 IBOutletcollectionView
您的代码应该可以工作。
【参考方案1】:
您需要确保您的 ProfileViewController 符合 UICollectionViewDataSource 和 UICollectionViewDelegate 协议,并且当您在 ProfileViewController 中创建集合视图时,请确保您这样做:
collectionView.delegate = self;
collectionView.dataSource = self;
听起来您正在尝试使用 self.collectionView,而 ProfileViewController 上不存在该属性。
【讨论】:
我已经把以上是关于如何将collectionview作为子视图添加到viewcontroller的主要内容,如果未能解决你的问题,请参考以下文章
如何将 UITableView 作为子视图添加到 xib 中的 UIView?
如何将 UIViewController 作为子视图添加到 UIViewController(RootViewController)?
关于如何将 UIview 作为子视图添加到 UITableCell 的问题
如何从同一方法外部将按钮添加到 UIScrollView 作为子视图?