突出显示 uicollectionviewcell 的正确方法
Proper way to highlight uicollectionviewcell
我有一个 uicollectionview,带有子类 uicollectionviewcell。我想在触摸时更改单元格的颜色,然后在释放触摸时 return 更改为默认颜色。另外,如果我可以为这种颜色变化制作动画,那将是最佳选择。我已尝试实施 didHighlightItemAtIndexPath 方法并更改出列单元格的背景颜色 属性,但似乎没有任何变化。我可以完成此操作的唯一方法是重写单元格的 touchesBegan 方法,但不会调用 didSelectItemAtIndexPath。
如果我使用 didHighlightItemAtIndexPath,该方法被调用,但由于某些原因背景颜色没有改变。
我不知道触摸时 UICollectionViewCell 的标准方法是什么,但有什么方法可以 运行 它吗?
您必须在 cellForItemAtIndexPath:
中配置出列单元格的背景视图
let backgroundView = UIView(frame: CGRectMake(0, 0, cell.contentView.frame.width, cell.contentView.frame.height))
backgroundView.backgroundColor = .blueColor()
cell.selectedBackgroundView = backgroundView
我有一个 uicollectionview,带有子类 uicollectionviewcell。我想在触摸时更改单元格的颜色,然后在释放触摸时 return 更改为默认颜色。另外,如果我可以为这种颜色变化制作动画,那将是最佳选择。我已尝试实施 didHighlightItemAtIndexPath 方法并更改出列单元格的背景颜色 属性,但似乎没有任何变化。我可以完成此操作的唯一方法是重写单元格的 touchesBegan 方法,但不会调用 didSelectItemAtIndexPath。
如果我使用 didHighlightItemAtIndexPath,该方法被调用,但由于某些原因背景颜色没有改变。
我不知道触摸时 UICollectionViewCell 的标准方法是什么,但有什么方法可以 运行 它吗?
您必须在 cellForItemAtIndexPath:
中配置出列单元格的背景视图 let backgroundView = UIView(frame: CGRectMake(0, 0, cell.contentView.frame.width, cell.contentView.frame.height))
backgroundView.backgroundColor = .blueColor()
cell.selectedBackgroundView = backgroundView