ios - 突出显示 uicollectionviewcell 的正确方法

标签 ios swift uicollectionview

我有一个 uicollectionview,带有子类 uicollectionviewcell。我想在触摸时更改单元格的颜色,然后在释放触摸时返回默认值。另外,如果我可以为这种颜色变化制作动画,那将是最佳选择。我已经尝试实现 didHighlightItemAtIndexPath 方法并更改出列单元格的 backgroundColor 属性,但似乎没有任何改变。我可以完成此操作的唯一方法是重写单元格的 touchesBegan 方法,但不会调用 didSelectItemAtIndexPath。

如果我使用 didHighlightItemAtIndexPath,该方法会被调用,但由于某种原因背景颜色没有改变。

我不知道 UICollectionViewCell 的标准方法是什么,但有什么方法可以运行它吗?

最佳答案

您必须在 cellForItemAtIndexPath 中配置出列单元格的背景 View :

    let backgroundView = UIView(frame: CGRectMake(0, 0, cell.contentView.frame.width, cell.contentView.frame.height))
    backgroundView.backgroundColor = .blueColor()
    cell.selectedBackgroundView = backgroundView

关于ios - 突出显示 uicollectionviewcell 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30017684/

相关文章:

objective-c - 退出应用程序 iOS

ios - 切换TabBar Item时如何获取上一个ViewController的名称

ios - 未在 UICollectionViewCell 中的 UILabel(或 UITextField)中设置文本

ios - UICollectionViewCell 点击不会正确注册

ios - 如何从 iOS 中的水平可滚动项目列表中拖动,并将其拖放到下方的垂直列表中,该列表最多可以接受 4 个项目

ios - 关于 MKAnnotation 和 NSString 内存泄漏问题的建议

ios - 如何在 iOS 中获取 One Signal 用户的唯一玩家 ID?

ios - NSNumberFormatter 正在四舍五入某些货币的货币金额

swift - RealityKit 在运行时更改 USDZ 漫反射 Material

ios - 在 swift 中以编程方式创建的 firebase 动态链接不起作用,没有域