私はUIViewコンテナ内にベジェのパス(三角形)を追加しようとしていますが、UIViewコンテナのポイントを正しく取得しているようです。bezierpathをUIViewコンテナの内側に追加する
:私は結果(三角形のストリップはコンテナビューの左側に表示されるようですされている)のためにこれを取得していますあなたは明らかにビューコントローラのviewDidLoad
にこのコードをやっている
// adding container to add image
self.topContainer.backgroundColor = UIColor(red: 49/255, green: 207/255, blue: 203/255, alpha: 1)
// self.topContainer.backgroundColor = UIColor.white
self.topContainer.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(self.topContainer)
self.topContainer.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
self.topContainer.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.55).isActive = true
self.topContainer.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true
let bezierPath = UIBezierPath()
bezierPath.move(to: CGPoint(x: 0, y: self.topContainer.frame.size.height))
bezierPath.addLine(to: CGPoint(x: self.topContainer.frame.size.width, y: 222))
bezierPath.addLine(to: CGPoint(x: self.topContainer.frame.size.width, y: self.topContainer.frame.size.height))
bezierPath.addLine(to: CGPoint(x: 0, y: self.topContainer.frame.size.height))
UIColor.white.setFill()
bezierPath.fill()
bezierPath.lineWidth = 1
bezierPath.close()
let shapeLayer = CAShapeLayer()
shapeLayer.path = bezierPath.cgPath
shapeLayer.lineWidth = 2.0
shapeLayer.strokeColor = UIColor.white.cgColor
shapeLayer.fillColor = UIColor.white.cgColor
self.topContainer.layer.addSublayer(shapeLayer)
??私はあなたの最初のスクリーンショットで青や赤のいずれかが表示されません。 – matt
setFillはUIColor.white.setFill()でなければならないため、実際のUIViewコンテナの緑色の上に白い三角形が表示されます。私は私の回線接続が正しいと思うにもかかわらず、その表示されていない?? @matt – Aboogie
"緑色の上に白い三角形があるはずです"それで青い色の上に赤い三角形を表示するのはかなりばかげていました! – matt