我正在尝试创建类似于自定义视图的三角形,但未显示。我没有得到什么毛病
我指的是这个Make UILabel at 45 degree with a cross background colour swift
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()
}
}
想要创建自定义视图
答案 0 :(得分:1)
您不需要显式调用draw()方法。只需为三角形视图设置框架。
override func viewDidLoad() {
super.viewDidLoad()
let customView = TriangleView.init(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
testView.addSubview(customView)
}
希望有帮助!