繁体   English   中英

如何在UICollectionViewCell内添加UICollectionView?

[英]How do I add a UICollectionView inside a UICollectionViewCell?

我有一个使用可视XIB文件创建的UICollectionViewCell。

收集视图将水平显示。

我想在该单元格的页脚中向该单元格添加另一个UICollectionView。

单元本身是代表某些信息的“卡片”。

此图有助于说明我的追求。

卡图

我的想法是我可以根据需要显示/隐藏骰子图像,包括零; 以水平方式作为当前UICollectionCell中的子部分。

尝试使用情节提要;

  • XIB收集单元不允许我向其添加另一个UICollectionView
  • 如果我在同一故事板上创建独立的UICollectionView,则不会让我向其中添加UICollectionCell

到目前为止,我唯一的解决方案是手动创建5个图像视图,然后将它们附加到收集插座; 然后我需要做一个for循环来显示/隐藏每个模具图像。

  1. 在界面构建器中使用Collection View创建普通的View Controller
  2. 在单独的XIB中创建CollectionViewCell。 在此单元格内插入另一个CollectionView
  3. 在第一个VC中,将collectionViewCell注册为sectionHeader:

     tableView.register(UINib(nibName: DashboardPagerHeader.cellIdentifier, bundle: nil), forHeaderFooterViewReuseIdentifier: DashboardPagerHeader.cellIdentifier) 
  4. 像以前一样在单独的xib中创建另一个CollectionViewCell

  5. 在步骤4中创建的awakeFromNib注册单元格中的第一个集合视图单元格的类内部:

     override func awakeFromNib() { super.awakeFromNib() collectionView.delegate = self collectionView.dataSource = self collectionView.register(UINib(nibName: " DashboardHeaderCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: DashboardHeaderCollectionViewCell.cellIdentifier) } 

您只需要在collectionview单元中的tableview而不是xib拖动另一个集合并将其滚动属性设置为vertical,然后从内部collectionview创建xib。

在外部collectionview单元格中,使用该方法设置委托和数据源

// code
override func awakeFromNib() {
   super.awakeFromNib()
   serInnerCollectionView()
}

 func serInnerCollectionView() {

 collectionViewInner.delegate = self
   collectionViewInner.dataSource = self
   collectionViewInner.register(UINib(nibName: "  FooterCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "FooterCollectionViewCellIdentifier")

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM