- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试将 header 添加到使用 FirebaseUI 绑定(bind)到 firebase 查询的 Collection View 。
我使用集合标题的静态框架设置我的 Collection View 。 (我已经尝试使用委托(delegate)调用 sizeForHeaderInSection
而不是布局中的静态框架集的 Collection View 。viewForSupplementaryElementOfKind
的委托(delegate)方法无论如何都不会被调用。):
lazy var collectionView: UICollectionView = {
let layout = UICollectionViewFlowLayout()
layout.headerReferenceSize = CGSize(width: CGFloat(UIScreen.main.bounds.width), height: 100)
let view = UICollectionView(frame: .zero, collectionViewLayout: layout)
view.contentInset = UIEdgeInsetsMake(84, 0, 0, 0)
view.register(VideoPollCollectionViewCell.self, forCellWithReuseIdentifier: NSStringFromClass(VideoPollCollectionViewCell.self))
view.register(PollCollectionViewHeader.self, forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, withReuseIdentifier: NSStringFromClass(PollCollectionViewHeader.self))
view.translatesAutoresizingMaskIntoConstraints = false
view.delegate = self
view.dataSource = self
view.tag = VideoPollCollectionType.polls.rawValue
return view
}()
在viewDidLoad()
中配置dataSource
self.dataSource = self.collectionView.bind(to: self.videoPollQuery, populateCell: { (collectionView, indexPath, snap) -> UICollectionViewCell in
let videoPoll = VideoPoll(with: snap)
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: NSStringFromClass(VideoPollCollectionViewCell.self), for: indexPath) as? VideoPollCollectionViewCell else { return UICollectionViewCell() }
cell.setPoll(with: videoPoll)
return cell
})
在实例属性级别添加 FirebaseUI 的数据源:
lazy var videoPollQuery: DatabaseQuery = {
let ref = Database.database().reference(withPath: "/polls/")
return ref.queryOrderedByKey()
}()
var dataSource: FUICollectionViewDataSource!
并添加委托(delegate)/数据源扩展,希望调用加载集合标题 View 的方法
extension PollCollectionViewController: UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
guard let view = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionHeader, withReuseIdentifier: NSStringFromClass(PollCollectionViewHeader.self), for: indexPath) as? PollCollectionViewHeader else { return UICollectionReusableView() }
return view
}
}
这会生成一个 Collection View ,其中包含在 Collection View 初始值设定项的布局或 sizeForHeaderInSection 委托(delegate)方法中设置的静态帧大小的空 header 。
在 viewForSupplementaryElementOfKind
中添加断点后,我很困惑地发现这个函数没有被调用。
有谁知道将 UICollectionReusableView
的子类作为 header 添加到具有来自 Firebase 的数据源的 Collection View 的正确过程?
最佳答案
尝试为补充 View 定义高度:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
return CGSize(width:collectionView.frame.size.width, height:30)
}
关于ios - 未使用 Firebase UI 数据源调用 UICollectionView viewForSupplementaryElementOfKind,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44816710/
我已经声明了如下的 Collection View lazy var collectionView:UICollectionView = { let layout = UICollec
如何识别 viewForSupplementaryElementOfKind 中的选择?我尝试将目标添加到 header 内的按钮,但这不起作用。选择操作是否发送到 didSelectItemAtIn
我有一个UIViewController,上面附加了一个UICollectionView。问题是每次向上滚动 Collection View 时都会调用 viewForSupplementaryEle
我有一个 UIViewController,上面附加了一个 UICollectionView。问题是 viewForSupplementaryElementOfKind 被调用了三次,而不是像 UIT
我遇到一个问题,viewForSupplementaryElementOfKind 委托(delegate)函数从未检测到 UICollectionElementKindSectionFooter。
我创建了一个自定义 UICollectionViewLayout 并将其放入 Storyboard中的 Collection View Controller 中。我在显示项目/单元格时没有遇到太多问题
我正在使用 viewForSupplementaryElementOfKind在我的收藏 View 中生成标题。 标题 (SectionHeader) 是 Storyboard 中的部分标题附件,仅包
我通过以下方式设置标题大小: if let flowLayout = self.myCollectionView.collectionViewLayout as? UICollectionViewFl
我是iOS编程新手。现在我正在开发一个显示类似于应用程序商店的应用程序。但是我有一些问题,当用户打开应用程序时,我希望数据单元格应该显示第二个单元格。例如,我有三个单元格,然后当用户打开应用程序时,第
我正在尝试将 header 添加到使用 FirebaseUI 绑定(bind)到 firebase 查询的 Collection View 。 我使用集合标题的静态框架设置我的 Collection
我有一个 Collection View ,我希望每个部分都有页眉和页脚。我正在使用默认流布局。 我有自己的 UICollectionReusableView 子类,我在 View Controlle
我有一个名为Location 的数据模型。我将它们用作 UICollectionViewController 中的部分标题。每个 location 都可以在这些部分中显示 items。我想在 view
我有一个工作正常的 UICollectionView。但是,我试图以编程方式添加节标题,但遇到了我无法弄清楚的崩溃。 我的标题类: class EmbeddedSectionHeaderCollect
我有一个 UICollectionView,它有部分标题,但没有部分页脚。因此,我没有定义的页脚 View 。 Apple's documentation声明 您不得从此方法返回 nil。 func
有时我会从 viewForSupplementaryElementOfKind 收到此“索引 0 超出空数组边界”错误。它只是有时发生,通常集合加载正常并且一切运行顺利。我想知道什么数组是空的?注册的
我是一名优秀的程序员,十分优秀!