Невозможно нарисовать пользовательский вид - PullRequest
1 голос
/ 21 сентября 2019

Я пытаюсь создать треугольник как пользовательский вид, но он не отображается.я не понимаю, что не так

Я имею в виду это Сделайте UILabel под углом 45 градусов с помощью креста с быстрым фоновым цветом

class ViewController: UIViewController {

    @IBOutlet weak var testView: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()
let triangleView = TriangleView()
        triangleView.draw(CGRect(x: 0, y: 0, width: 50, height: 50))
        testView.addSubview(triangleView)
    }
}

class TriangleView: UIView {

    override func draw(_ rect: CGRect) {
                let path = UIBezierPath()
                path.move(to: .zero)
                path.addLine(to: CGPoint(x: rect.maxX, y: 0))
                path.addLine(to: CGPoint(x: 0, y: rect.maxY))
               path.close()
                 UIColor.red.withAlphaComponent(1).setFill()
                path.fill()
    }

}

хотите создать пользовательский вид

1 Ответ

1 голос
/ 21 сентября 2019

Вам не нужно явно вызывать метод draw ().Просто установите рамку для вида треугольника.

override func viewDidLoad() {
    super.viewDidLoad()
    let customView = TriangleView.init(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
    testView.addSubview(customView)
}

Надеюсь, это поможет !!!

...