【问题标题】:Swift draw an arc for view backgroundSwift为视图背景绘制弧线
【发布时间】:2018-08-14 21:24:11
【问题描述】:

我想在这样的视图底部画一条弧线:

背景图案是另一回事,但我认为这可以用uibezierpath之类的东西来完成?我没有太多经验,有什么入门点吗?谢谢

【问题讨论】:

    标签: ios swift uiview draw uibezierpath


    【解决方案1】:

    将此自定义类分配给 IB 中的视图

    class CurveView:UIView {
    
        var once = true
    
        override func layoutSubviews() {
            super.layoutSubviews()
    
            if once {
    
                let bb = UIBezierPath()
    
                bb.move(to: CGPoint(x: 0, y: self.frame.height))
    
                // the offset here is 40 you can play with it to increase / decrease the curve height
    
                bb.addQuadCurve(to: CGPoint(x: self.frame.width, y: self.frame.height), controlPoint: CGPoint(x: self.frame.width / 2 , y: self.frame.height + 40 ))
    
                bb.close()
    
                let l = CAShapeLayer()
    
                l.path = bb.cgPath
    
                l.fillColor =  self.backgroundColor!.cgColor
    
                self.layer.insertSublayer(l,at:0)
    
                once = false
            }
    
        }
    
    }
    

    //

    【讨论】:

      猜你喜欢
      • 2018-03-07
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多