如何在集合视图中快速创建页眉和页脚?
我正在尝试将页眉和页脚组合在一起,但是它一直崩溃,我找不到快速的教程来理解它。
我不怎么为两个人返回补充性观点,而只是返回一个。
我将它们都放在情节提要上(类+标识符)
override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int { //#warning Incomplete method implementation -- Return the number of sections return 2 } override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { //#warning Incomplete method implementation -- Return the number of items in the section return 10 } override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView { var header: headerCell! var footer: footerCell! if kind == UICollectionElementKindSectionHeader { header = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "header", forIndexPath: indexPath) as? headerCell } return header }
错误: 标识符为1的UICollectionElementKindCell-必须为该标识符注册一个笔尖或一个类,或在情节提要中连接原型单元。
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> profileCC { let cell = collectionView.dequeueReusableCellWithReuseIdentifier("one", forIndexPath: indexPath) as! profileCC // Configure the cell return cell } override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView { switch kind { case UICollectionElementKindSectionHeader: let headerView = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "header", forIndexPath: indexPath) as! headerCell headerView.backgroundColor = UIColor.blueColor(); return headerView case UICollectionElementKindSectionFooter: let footerView = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "footer", forIndexPath: indexPath) as! footerCell footerView.backgroundColor = UIColor.greenColor(); return footerView default: assert(false, "Unexpected element kind") } }
希望有人能帮上忙。
您可以制作一个UICollectionViewController来处理UICollectionView和在Interface Builder中激活 Footer 和 Header 部分,然后可以在UICollectionView添加的两个部分中使用以下方法进行预览:
UICollectionViewController
UICollectionView
override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView { switch kind { case UICollectionView.elementKindSectionHeader: let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "Header", for: indexPath) headerView.backgroundColor = UIColor.blue return headerView case UICollectionView.elementKindSectionFooter: let footerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "Footer", for: indexPath) footerView.backgroundColor = UIColor.green return footerView default: assert(false, "Unexpected element kind") }
在上面的代码我把identifier页脚和头作为Header和Footer例如,你可以做你想要的。如果要创建自定义页眉或页脚,则需要UICollectionReusableView为每个页眉创建一个子类并根据需要对其进行自定义。
identifier
Header
Footer
UICollectionReusableView
您可以通过以下方式在Interface Builder或代码中注册自定义页脚和标头类:
registerClass(myFooterViewClass, forSupplementaryViewOfKind: UICollectionElementKindSectionFooter, withReuseIdentifier: "myFooterView")