如何使用情节提要将 CollectionView 添加到 ViewController?

Posted

技术标签:

【中文标题】如何使用情节提要将 CollectionView 添加到 ViewController?【英文标题】:How to add CollectionView to ViewController with storyboard? 【发布时间】:2014-08-18 10:40:48 【问题描述】:

我已将 collectionView 移至我的 ViewController,创建了 IBOutlet,与 dataSourcedelegate 建立了连接,添加了协议:UICollectionViewDataSourceUICollectionViewDelegateUICollectionViewDelegateFlowLayout,还添加了方法:

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:   (NSInteger)section

return 5;



- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView

return 1;



- (AdImageCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
 
AdImageCell *cell = (AdImageCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"AdImageCellIdentifier" forIndexPath:indexPath];
cell.imageView1.image = [UIImage imageNamed:@"3.jpg"];

return cell;

我还创建了自定义单元格并将其添加到viewDidLoad

   [self.collectionView registerNib:[UINib nibWithNibName:@"AdImageCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"AdImageCellIdentifier"];

但我的问题是 numberOfItemsInSectionnumberOfSectionsInCollectionView 只被调用,而不是 cellForItemAtIndexPath。为什么?

【问题讨论】:

【参考方案1】:

有时,如果您从 viewDidLoad 方法中删除 collectionView registerClass:forCellWithReuseIdentifier,它会起作用。

collectionView:cellForItemAtIndexPath: never gets called

希望对你有所帮助..

【讨论】:

@dfasfasdfdfdfasdfasf 确保您已在情节提要的集合视图中添加原型单元格,并将该单元格的类设置为 AdImageCell vitalyster,如果我从 .xib 加载单元格,是否需要将此添加到 collectionView?

以上是关于如何使用情节提要将 CollectionView 添加到 ViewController?的主要内容,如果未能解决你的问题,请参考以下文章

您可以在应用程序/场景委托中设置窗口并仍然使用情节提要吗?

CollectionView 单元格转场

使用 .xib 创建 CollectionView?

将视图添加到 StoryBoard 中的 CollectionView 标题

关于 Collectionview 场景的建议

Swift,集合视图和情节提要,在另一个标签上使用 viewWithTag 时为空