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)

 

posted @ 2022-07-07 15:10  自律的自由  阅读(649)  评论(0编辑  收藏  举报