Как установить CAShapeLayer's strokeColor в swift - PullRequest
1 голос
/ 24 февраля 2020

Я хочу нарисовать диагональный вид.

Это мой код.

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    let path = UIBezierPath()
    path.move(to: CGPoint.zero)
    path.addLine(to: CGPoint(x: 50, y: 50))

    let view = UIView(frame: CGRect(x: 100, y: 100, width: 50, height: 50))
    view.backgroundColor = UIColor.blue

    let mask = CAShapeLayer()
    mask.frame = view.bounds
    mask.path = path.cgPath
    mask.strokeColor = UIColor.orange.cgColor
    mask.lineWidth = 25

    view.layer.mask = mask

    self.view.addSubview(view)
}

Я установил strokeColor в orange. Но цвет синий backgroundColor

Почему это происходит?

1 Ответ

3 голосов
/ 24 февраля 2020

фрагмент кода

        let path = UIBezierPath()
        path.move(to: CGPoint.zero)
        path.addLine(to: CGPoint(x: 50, y: 50))

        let view = UIView(frame: CGRect(x: 100, y: 100, width: 50, height: 50))
        view.backgroundColor = UIColor.green

        let diagonal = CAShapeLayer()
        diagonal.frame = view.bounds
        diagonal.path = path.cgPath
        diagonal.strokeColor = UIColor.orange.cgColor
        diagonal.lineWidth = 15
        diagonal.backgroundColor = UIColor.blue.cgColor
        // view.layer.mask = mask

        view.layer.addSublayer(diagonal)

        self.view.addSubview(view)

приводит к

enter image description here

Дайте мне знать, если вам нужна помощь в рисовании что угодно

счастливое кодирование =)

...