Ширина линии - это еще одно свойство вашей линии. Добавьте это свойство к ColoredLine
struct
:
struct ColoredLine {
var color = UIColor.black
var width = 5
var points = [CGPoint]()
}
Добавьте свойство strokeWidth
к своему классу Canvas
и обновите его при изменении значения ползунка:
class Canvas : UIView {
var strokeWidth = 5
....
}
В touchesBegan()
добавьте текущее значение strokeWidth
к экземпляру coloredLine
:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
var coloredLine = ColoredLine()
coloredLine.color = strokeColor
coloredLine.width = strokeWidth
lines.append(coloredLine)
}
Затем в draw(rect:)
установите context
'strokeWidth
перед рисованием линии:
lines.forEach { (line) in
for (i, p) in line.points.enumerated() {
if i == 0 {
context.move(to: p)
} else {
context.addLine(to: p)
}
}
context.setStrokeColor(line.color.cgColor)
context.setLineWidth(line.width)
context.strokePath()
context.beginPath()
}