我有一个uicollectionview,带有子类uicollectionviewcells。我想在触摸时更改单元格的颜色,然后在触摸释放时返回默认值。此外,如果我可以设置这种颜色变化的动画,那将是最佳的。我已经尝试实现didHighlightItemAtIndexPath方法并更改出列单元格的backgroundColor属性,但似乎没有任何更改。我能做到这一点的唯一方法是覆盖单元格的touchesBegan方法,但是不会调用didSelectItemAtIndexPath。
如果我使用didHighlightItemAtIndexPath,则会调用该方法,但由于某种原因,背景颜色不会更改。
触摸时我不知道UICollectionViewCell的标准方法是什么,但是有什么方法可以运行它吗?
答案 0 :(得分:1)
您必须在cellForItemAtIndexPath中配置出列单元格的backgroundView:
let backgroundView = UIView(frame: CGRectMake(0, 0, cell.contentView.frame.width, cell.contentView.frame.height))
backgroundView.backgroundColor = .blueColor()
cell.selectedBackgroundView = backgroundView