按下表格视图单元格时如何添加深色?

时间:2019-01-28 19:09:35

标签: ios swift uitableview

我有一个包含多个单元格的表格视图。每张图片的中间都包含一张图片和一个标签。当用户按下某个单元格时,我希望它变暗一些,以便用户知道他们正在按下该单元格。

2 个答案:

答案 0 :(得分:1)

请在imageview上方单击与单元格大小相同的按钮。只需拖动出口并对其进行操作即可。使用此按钮上的代码来管理选择和取消选择。

选择:

sender.backgroundColor = UIColor.black.withAlphaComponent(0.35)

取消选择:

sender.backgroundColor = UIColor.black.withAlphaComponent(0.0)

快乐编码

答案 1 :(得分:0)

如果要使单元格稍微变暗并突出显示,请检查UITaleView中称为isUserInteractionEnabled的属性。

UITableViewCell中已经默认实现了此行为,但是,如果不是您想要的,则可以实现didSelectRowAt委托函数并在该单元格上执行任何操作,或者使用didHighlightRowAt

您可以在线阅读大量有关这些功能的信息here是有关实现didSelectRowAt的示例。

更新:一些解决方法可以在didSelectRowAt方法添加工具中手动向用户显示他单击的内容。

let cell =  (tableView.cellForItem(at: indexPath) as! MyCustomCell)
UIView.animate(withDuration: 0.4) {
   cell.imageView.highlightedImage = cell.imageView.image?.withRenderingMode(.alwaysTemplate)
   cell.imageView.tintColor = UIColor(displayP3Red: 0, green: 0, blue: 0, alpha: 0.3)
UIView.animate(withDuration: 0.4, animations: {
                    talbeView.deselectItem(at: indexPath, animated: true)
})
}

这将使用您在这种情况下设置的淡色为黑色且透明度为0.3来手动覆盖图像视图内的图像。

然后取消选择该单元格,所有这些都将在0.4动画时间内完成。