gpt4 book ai didi

ios - 如何使这两个 UICollectionView 出现在同一个 View 中?

转载 作者:行者123 更新时间:2023-11-29 01:54:42 30 4
gpt4 key购买 nike

我在一个 View 中需要两个 UICollectionViews

它们有两个不同的 CollectionViewCell 类。第一个 CollectionView 单元类是 ConfirmOffersCollectionViewCell,第二个是 ConfirmRequestsCollectionViewCell

如果我将两个单元格设置为同一个类,我可以让 CollectionViews 出现并运行,但它们显示相同的图像。我需要它们由两个单独的图像阵列填充。

我唯一知道要做的就是复制并粘贴我的 func collectionView() 代码并更改 cellForItemAtIndexPathnumberOfItemsInSection 属性。但是我无法两次运行相同的功能。

代码如下:

@IBOutlet weak var collectionView1: UICollectionView!

@IBOutlet weak var collectionView2: UICollectionView!




func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return images1.count
}

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell: ConfirmOffersCollectionViewCell = collectionView1.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! ConfirmOffersCollectionViewCell
images1[indexPath.row].getDataInBackgroundWithBlock{
(imageData: NSData?, error: NSError?) -> Void in
if error == nil {
let image = UIImage(data: imageData!)
cell.image.image = image
}
}
return cell
}




func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return images2.count
}

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell: ConfirmRequestsCollectionViewCell = collectionView2.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! ConfirmRequestsCollectionViewCell
images2[indexPath.row].getDataInBackgroundWithBlock{
(imageData: NSData?, error: NSError?) -> Void in
if error == nil {
let image = UIImage(data: imageData!)
cell.image.image = image
}
}
return cell
}

最佳答案

您不能在单个类中使用相同的函数。相反,您需要以某种方式识别每个 Collection View (通过创建导出或给它们一个标签),然后在每个函数中检查 collectionview 参数并将其与您的 Collection View 进行比较。示例:

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
if collectionView = secondCollectionView{
return images2.count
}else{
return images1.count
}

此外,您还需要在 cellForRowAtIndexPath 处进行类似的检查

关于ios - 如何使这两个 UICollectionView 出现在同一个 View 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31006562/

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