我想在我的页眉中有一个CollectionView,它类似于在Instagram和Snapchat上供我的主CollectionView使用的CollectionView。当我尝试从库中添加collectionview并在实现委托方法后将标头设置为委托和数据源时,我仍然看不到标头中的任何内容。
//let layout = UICollectionViewFlowLayout()
let headerCollection = UICollectionView(frame: CGRect(x: 0, y: 0, width: 50, height: 90), collectionViewLayout: UICollectionViewFlowLayout())
override func awakeFromNib() {
super.awakeFromNib()
// headerCollection.delegate = self
// headerCollection.dataSource = self
}
}
extension HeaderforFeed: UICollectionViewDataSource, UICollectionViewDelegate{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return CollectionViewData.Dict_StrImg.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = UICollectionViewCell(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
cell.backgroundColor = .red
return cell
}
}```
答案 0 :(得分:0)
根据您的代码,我认为问题是您没有将其添加到标题中(我将其理解为UICollectionView中的标题部分)。如果是这样,请尝试将其添加到
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
}
在这里,您可以将UICollectionView
作为UICollectionReusableView
添加自定义视图
我不知道这是否对您有帮助,但是根据您的问题,我理解了
答案 1 :(得分:0)
很好,我知道了。我将库中的collectionview添加到情节提要中的标题中。然后我将其连接为UICollectionReusableView类中的插座。然后,我让该类为collectionview而不是标头中的那个实现委托方法。
让reusableview成为委托和数据源,并且对我有用
// HeaderforFeed.swift
// finishedFeednStories
//
// Created by Guh Suck Yu Mada
// Copyright © 2019 Bumboklat. All rights reserved.
//
import UIKit
class HeaderforFeed: UICollectionReusableView {
//let layout = UICollectionViewFlowLayout()
@IBOutlet weak var storiesCollection: UICollectionView!
override func awakeFromNib() {
super.awakeFromNib()
storiesCollection.delegate = self
storiesCollection.dataSource = self
}
}
extension HeaderforFeed: UICollectionViewDataSource, UICollectionViewDelegate{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return CollectionViewData.Dict_StrImg.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "storiesCell", for: indexPath) as! StoriesCell
cell.storiesImg.image = Array(CollectionViewData.Dict_StrImg)[indexPath.row].value
cell.storiesLabel.text = Array(CollectionViewData.Dict_StrImg)[indexPath.row].key
return cell
}
}