iOS:UITableViewCell滑动删除按钮颜色自定义
效果:
滑动删除实现步骤:
在trailingSwipeActionsConfigurationForRowAt协议方法里面创建UIContextualAction并通过UISwipeActionsConfiguration(actions: [Array])配置返回
UIContextualAction的方法只有5个属性style,backgroundColor,title,image,handler,没有设置字体颜色的入口 于是通过以下方式去修改字体:
先实现方法,将传入的view转化成图片
private func createImage(view: UIView) -> UIImage { let renderer = UIGraphicsImageRenderer(bounds: view.bounds) let image = renderer.image { rendererContext in view.layer.render(in: rendererContext.cgContext) } if let cgImage = image.cgImage { return UIImage.init(cgImage: cgImage, scale: UIScreen.main.scale, orientation: .up) } else { return UIImage() } }
然后创建label调用生成图片
let lb = UILabel() lb.text = "看同款" lb.textColor = UIColor.nf.Black1 lb.font = UIFont.nf.medium(15) lb.sizeToFit()
原有的title赋值改为nil,最后赋值
collectRowAction.image = self.createImage(view: lb)