自定义形状后面的颜色已填充,我想将其设置为白色

问题描述 投票:1回答:1

基本上是图片显示的,但是我想使橙色形状后面的灰色背景透明和/或白色(坦率地说是任何颜色)。我只是想知道在哪里可以更改形状背景的颜色以及其语法是什么。 IMAGE

class DemoView: UIView {

    /*
    // Only override draw() if you perform custom drawing.
    // An empty implementation adversely affects performance during animation.
    override func draw(_ rect: CGRect) {
        // Drawing code
    }
    */

    var path: UIBezierPath!

    override init(frame: CGRect) {
        super.init(frame: frame)

        self.backgroundColor = UIColor.darkGray

    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    func createRectangle() {
        path = UIBezierPath()

        path.move(to: CGPoint(x:0.0, y: 0.0))

        path.addLine(to: CGPoint(x: 0.0, y: 300.0))

        //path.addLine(to: CGPoint(x: self.frame.size.width, y: self.frame.size.height))


        //self.frame.size.height
        path.addCurve(to:CGPoint(x: self.frame.size.width, y: 300.0), controlPoint1:  CGPoint(x: self.frame.size.width/2, y: 400), controlPoint2:  CGPoint(x: self.frame.size.width/2, y: 400))

        path.addLine(to: CGPoint(x: self.frame.size.width, y: 0.0))

        path.close()
    }

    override func draw(_ rect: CGRect) {
        self.createRectangle()

        UIColor.orange.setFill()
        path.fill()

        UIColor.purple.setStroke()
        path.stroke()


    }
}

在下面的视图控制器中

let height: CGFloat = 400.0

               let demoView = DemoView(frame: CGRect(x: 0,
                                                     y: self.view.frame.size.height/2 - height/2,
                                                     width: self.view.frame.size.width,
                                                     height: height))

               self.view.addSubview(demoView)
swift xcode
1个回答
0
投票

您可以通过更改演示视图的背景颜色进行更改

let demoView = DemoView(frame: CGRect(x: 0,
                                            y: self.view.frame.size.height/2 - height/2,
                                            width: self.view.frame.size.width,
                                            height: height))
      demoView.backgroundColor = .green
      self.view.addSubview(demoView)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.