Попытка добавить CollectionView в заголовок ResuableView, например, Instagram или SNapchat.
Я хочу иметь CollectionView в моем заголовке, который похож на это в Instagram и Snapchat для моего основного 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
}
}```
2 ответа
Исходя из вашего кода, я думаю, что проблема в том, что вы не добавляете его в заголовок (я понимаю это как раздел заголовка внутри вашего UICollectionView). Если это так, попробуйте добавить его в
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
}
Здесь вы можете добавить свой собственный вид с UICollectionView
как UICollectionReusableView
Я не знаю, может ли это помочь тебе, но по твоему вопросу я понял
Это хорошо, я понял это. Я добавил коллекцию из библиотеки в свой заголовок в раскадровке. Затем я подключил его как выход в моем классе UICollectionReusableView. Затем я заставил этот класс реализовать методы делегата для представления коллекции, но для заголовка.
Сделайте 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
}
}