【发布时间】:2015-11-28 16:49:26
【问题描述】:
我想在点击的单元格中隐藏标签,而是显示一个图像。另外,我想存储此状态并仅在某个其他单元格已经显示图像时才显示图像。我有一定数量的细胞。 我用 indexPath 做到了,但单元格在滚动时被重用。 如何寻址单元格并存储数据?
override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
println("user tapped on cell number \(indexPath.row)")
let cell = collectionView.cellForItemAtIndexPath(indexPath) as! MyCollectionViewCell
if (cell.myLabel.text == "1") {
one = true
if (cell.myLabel.hidden) {
cell.myLabel.hidden = false
cell.MyImageView.image = nil
}
else {
cell.myLabel.hidden = true
cell.MyImageView.image = UIImage(named:"1")!
}
}
【问题讨论】:
-
我想你想要一些类似配对游戏的东西。是这样吗?您遇到问题是因为您没有描述确切的问题。 @麦迪
-
我认为您从错误的方向检查问题;您的数据源服务于视图,而不是相反;因此,您的数据源必须存储有关您的项目的此类信息,显然您只需要更新您的数据源。然后,当您在委托类中显示一个单元格时,您将再次从数据源中提取信息并根据该信息创建视图,该信息已已经存储在那里。
标签: ios swift uicollectionview uicollectionviewcell