在 Swift 4 中单击单元格时如何更改 CollectionView 外部的 textLabel?
How to change textLabel outside CollectionView when cell is clicked in Swift 4?
你能帮我如何在单击单元格时更改位于 CollectionView 之外但位于同一 ViewController 中的标签中的文本?我需要不同单元格的标签中的不同文本。
P.S。我是 swift 的新人 :)
在单元格的 didSelectAt 函数中,您可以根据该 indexPath 检索另一个单元格,然后您可以更新该单元格中的标签:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let otherCell = collectionView.cellForItem(at: IndexPath(item: otherCellsIndexItem, section: otherCellsIndexSection)) as! YourCollectionViewCell
otherCell.label.text = "New Text"
}
}
编辑 1:标签在集合视图之外,然后:
class YourView {
...
@IBOutlet weak var yourLabel: UILabel!
// or
var yourLabel: UILabel?
...
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
self.label.text = "New Text"
// or, if it's UILabel?, then:
self.label?.text = "New Text"
}
}
}
你能帮我如何在单击单元格时更改位于 CollectionView 之外但位于同一 ViewController 中的标签中的文本?我需要不同单元格的标签中的不同文本。
P.S。我是 swift 的新人 :)
在单元格的 didSelectAt 函数中,您可以根据该 indexPath 检索另一个单元格,然后您可以更新该单元格中的标签:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let otherCell = collectionView.cellForItem(at: IndexPath(item: otherCellsIndexItem, section: otherCellsIndexSection)) as! YourCollectionViewCell
otherCell.label.text = "New Text"
}
}
编辑 1:标签在集合视图之外,然后:
class YourView {
...
@IBOutlet weak var yourLabel: UILabel!
// or
var yourLabel: UILabel?
...
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
self.label.text = "New Text"
// or, if it's UILabel?, then:
self.label?.text = "New Text"
}
}
}