问题:UITableViewCell setSelected:动画时没有效果的动画
答案:
问题解析:
该问题可能是由于在开发过程中,没有正确设置 UITableViewCell 的 selectedBackgroundView 或 selectedBackgroundViewLayout 属性导致的。
解决方案:
if let cell = tableView.cellForRow(at: indexPath) as? CustomTableViewCell {
let selectedBackgroundView = UIView(frame: cell.contentView.bounds)
selectedBackgroundView.tag = 999 // 设置一个唯一的标识符
cell.contentView.addSubview(selectedBackgroundView)
// 创建一个 UIBezierPath 实例
let path = UIBezierPath(roundedRect: selectedBackgroundView.bounds,
byRoundingCorners: [.allCorners],
cornerRadii: CGSize(width: 5.0, height: 5.0))
// 设置画笔颜色
path.setFill()
// 创建一个 UIColor 实例
let color = UIColor.red
// 将颜色填充到背景视图
path.fill()
// 设置背景视图的图层
selectedBackgroundView.layer.contents = path.cgPath
// 设置背景视图的透明度
selectedBackgroundView.layer.opacity = 0.5
// 将背景视图添加到内容视图
cell.contentView.addSubview(selectedBackgroundView)
}
领取专属 10元无门槛券
手把手带您无忧上云