【发布时间】:2020-12-11 09:49:43
【问题描述】:
我正在尝试在headerView 中为我的UITableviewController 中的给定部分绘制自定义形状。这是我的代码:
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
10
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView()
view.backgroundColor = .white
let rect = view.bounds
let bezier = UIBezierPath()
bezier.move(to: CGPoint(x: rect.minX, y: rect.midY))
bezier.addLine(to: CGPoint(x: rect.maxX, y: rect.midY))
bezier.stroke()
let shape = CAShapeLayer()
shape.path = bezier.cgPath
shape.strokeColor = UIColor.red.cgColor
view.layer.addSublayer(shape)
return view
}
UIView 被正确渲染。我知道这一点,因为我可以看到标题部分的颜色从默认颜色变为白色。但是,我在CAShapeLayer 中完成的绘图没有被渲染。我在想层实例化中可能缺少配置?
【问题讨论】:
标签: swift uitableview calayer uibezierpath cashapelayer