gpt4 book ai didi

ios - 无法将项目添加到 UIView xib 中的 UICollectionView

转载 作者:IT王子 更新时间:2023-10-29 05:18:49 25 4
gpt4 key购买 nike

目标

我想将我的 (BusinessViewTableHeader: UIView) 作为 tableView 标题:

tableView.tableHeaderView = BusinessViewTableHeader.instanceFromNib() as! BusinessViewTableHeader

在 BusinessViewTableHeader 中有一个 UICollectionView,它应该在滑动时显示图像,很像 Tinder 应用程序。

这是我的 UIView 子类:

class BusinessViewTableHeader: UIView {

@IBOutlet var collectionView: UICollectionView!

override func awakeFromNib() {
super.awakeFromNib()
self.collectionView.delegate = self
self.collectionView.registerNib(UINib(nibName: "BusinessImageCollectionCell", bundle: nil), forCellWithReuseIdentifier: "BusinessImageCollectionCell")
}

class func instanceFromNib() -> UIView {
return UINib(nibName: "BusinessViewTableHeader", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! UIView
}

....
}

extension BusinessViewTableHeader: UICollectionViewDelegate, UICollectionViewDataSource {
....
}

问题

我有一个包含 UICollectionView 的自定义 UIView xib。问题是我无法将任何单元格(项目)添加到 UICollectionView。我可以将项目添加到其他 UICollectionView 中,这些 UICollectionView 位于 UIViewController 中。第一张图片显示了 UIViewController 中的 UICollectionView 的属性,第二张图片显示了 UIView xib 中的 UICollectionView。

[![UIViewController 中的 UICollectionView][1]][1][1]: http://i.stack.imgur.com/zFCeG.png

[![UIView xib 中的 UICollectionView][2][2][2]: http://i.stack.imgur.com/jKU6z.png

问题

为什么我无法向 UIView xib 中的 UICollectionView 添加项目?怎么办?

最佳答案

当 UICollectionView 位于 Nib 上时,您不能拥有 UICollectionViewCell。您需要做的是将 UICollectionViewCell 创建为另一个 nib,并将其注册到您用于 CollectionView 的类中。

创建一个新的 nib,将一个 UICollectionViewCell 拖到其中,然后在与您的 UICollectionView 一起使用的类中执行类似的操作。

override func awakeFromNib() {
let nibName = UINib(nibName: "ClassCollectionCell", bundle:nil)
collectionView.registerNib(nibName, forCellWithReuseIdentifier: "collectionCell")
}

请记住,您可以向 UICollectionViewCell 添加自定义类,以便向其传递动态数据。

关于ios - 无法将项目添加到 UIView xib 中的 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38285469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com