我想在点击某个CollectionView单元格时将变量设置为不同的字符串。因此,轻触cell1然后点击var cellTapped = "cell1"
,点击单元格2,然后点击var cellTapped = "cell2"
,依此类推。有人建议我
“创建自定义单元格并将值保存为属性并阅读此内容 didSelectCell()上的值“
但我不知道该怎么做(新手)。
(斯威夫特3)
答案 0 :(得分:1)
您需要将UICollectionViewDelegate
设置为ViewController,然后实现在点按单元格时调用的didSelectItemAt IndexPath
。
这样的事情:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
cellTapped = "cell" + String(indexPath.row)
}
您还可以根据indexPath.row
将数组和字符串索引到数组中:
let cellStringValues = ["cell1", "cell2", "cell3", ... , "celln"]
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
cellTapped = cellStringValues[indexPath.row]
}
答案 1 :(得分:1)
将视图控制器设置为UICollectionView的委托。您的视图控制器应继承自UICollectionViewDelegate。然后在VC的viewDidLoad()中将UICollectionView的委托变量设置为ViewController。要捕获选择事件,请覆盖以下UICollectionViewDelegate函数。
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
cellTapped = "cell\(indexPath.row)"
}
查看https://www.raywenderlich.com/136159/uicollectionview-tutorial-getting-started了解有关使用集合视图的更多详细信息