gpt4 book ai didi

ios - 在 UICollectionView swift 中获取单元格 onClick 的所有 subview

转载 作者:行者123 更新时间:2023-11-28 10:57:21 24 4
gpt4 key购买 nike

我试图在单击单元格时访问附加到 UICollectionView 中单元格的所有 subview 。

我可以给它添加图像和标签,但是当我点击任何单元格时它显示为 nil

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let myCell = collectionView.dequeueReusableCell(withReuseIdentifier: "MyCell", for: indexPath)

// Image
let imageview:UIImageView = UIImageView(frame: CGRect(x: 5, y: 5, width: myCell.frame.width - 10, height: myCell.frame.height - 20))
imageview.image = UIImage(named: String(format: "%@.png", arr[indexPath.row]))
imageview.tag = 20

// Label
let label = UILabel(frame: CGRect(x: 5, y: 50, width: myCell.frame.width - 10, height: myCell.frame.height - 40))
label.textAlignment = .center
label.text = arr[indexPath.row]
label.textColor = .black
label.tag = 21
label.font = label.font.withSize(8)

myCell.contentView.addSubview(imageview)
myCell.contentView.addSubview(label)

myCell.backgroundColor = UIColor.white

return myCell
}

我正在尝试访问如下 subview :

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let myCell = collectionView.dequeueReusableCell(withReuseIdentifier: "MyCell", for: indexPath)
print(myCell.contentView.subViews) // Returns null
}

我知道我们可以使用 indexPath.row 获取项目索引。但我想阅读 subview 。如何得到它?感谢您的帮助

最佳答案

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let myCell = collectionView.dequeueReusableCell(withReuseIdentifier: "MyCell", for: indexPath)
print(myCell.contentView.subViews) // Returns always null
}

UICollectionView dequeueReusableCell 的方法返回一个新的可重用单元格,现在 myCell 有新的引用,如果你想得到你需要的旧单元格,它总是新的引用从

获取单元格
let cell = collectionView.cellForItemAtIndexPath(indexPath) as! MyCell

如果你有使用 MyCell 的类,否则你可以直接获取单元格而无需类型转换。

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let cell = collectionView.cellForItemAtIndexPath(indexPath)
print(cell.contentView.subviews)
}

关于ios - 在 UICollectionView swift 中获取单元格 onClick 的所有 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42508463/

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