初入 iOS 坑,想实现待办事项完成事项后的删除线效果。但如果直接在 textLabel 的文字上加入删除线属性的话,只会在文字范围加入删除线。强迫症的我认为如果能直接在 Cell 上加入一条线会比较好看(吧),类似这样的效果:

哪里好看了喂

这样每一个 Cell 的删除线长度都一样,比较符合强迫症的气质。

思路

  1. 使用 UIView 画一个矩形,假装它是一条线
  2. 设置这个矩形的背景色
  3. 把这个矩形添加到 Cell 的 contentView

实现

/** 添加删除线 */

// 用 UIView 画一个矩形
let lineView = UIView(frame: CGRect(x: 50, y: 20, width: cell.contentView.frame.width - 35, height: 0.5))
// 填充矩形颜色
lineView.backgroundColor = UIColor.CustomColor.Gray.Platinum
// 添加为 contentView 的子页面
cell.contentView.addSubview(lineView)