根据Cell Clicked更改变量

时间:2017-04-26 21:29:13

标签: ios swift uicollectionviewcell collectionview

我想在点击某个CollectionView单元格时将变量设置为不同的字符串。因此,轻触cell1然后点击var cellTapped = "cell1",点击单元格2,然后点击var cellTapped = "cell2",依此类推。有人建议我

  

“创建自定义单元格并将值保存为属性并阅读此内容   didSelectCell()上的值“

但我不知道该怎么做(新手)。

(斯威夫特3)

2 个答案:

答案 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了解有关使用集合视图的更多详细信息