根据单击的单元格更改变量
Change Variable based on Cell Clicked
我想在点击某个 CollectionView 单元格时将变量设置为不同的字符串。因此,先点击单元格 1,然后 var cellTapped = "cell1"
,然后点击单元格 2,然后 var cellTapped = "cell2"
,依此类推。有人建议我
"create a custom cell and hold the value as property and read this
value on didSelectCell()"
但我不知道该怎么做(新手)。
(Swift 3)
您需要将 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]
}
将您的视图控制器设置为 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 了解有关使用集合视图的更多详细信息
我想在点击某个 CollectionView 单元格时将变量设置为不同的字符串。因此,先点击单元格 1,然后 var cellTapped = "cell1"
,然后点击单元格 2,然后 var cellTapped = "cell2"
,依此类推。有人建议我
"create a custom cell and hold the value as property and read this value on didSelectCell()"
但我不知道该怎么做(新手)。
(Swift 3)
您需要将 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]
}
将您的视图控制器设置为 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 了解有关使用集合视图的更多详细信息