Swiftの円と円弧の描き方

calendar

スポンサーリンク

円を描く

let grayPath = UIBezierPath()
grayPath.addArc(withCenter: CGPoint(x: self.view.frame.width/2, y: 150), // 中心
             radius: 100, // 半径
             startAngle: 0, // 開始角度
             endAngle: .pi * 2.0, // 終了角度
             clockwise: true) // 時計回り

let grayLayer = CAShapeLayer()
grayLayer.path = grayPath.cgPath
grayLayer.fillColor = UIColor.clear.cgColor // 塗り色
grayLayer.strokeColor = UIColor(red: 0.80, green: 0.80, blue: 0.80, alpha: 1.0).cgColor // 線の色
grayLayer.lineWidth = 20.0 // 線の幅
self.view.layer.addSublayer(grayLayer)

円弧を描く

let bluePath = UIBezierPath()
bluePath.addArc(withCenter: CGPoint(x: self.view.frame.width/2, y: 150), // 中心
            radius: 100, // 半径
            startAngle: 0, // 開始角度
            endAngle: .pi * 1.5, // 終了角度
            clockwise: true) // 時計回り

let blueLayer = CAShapeLayer()
blueLayer.path = bluePath.cgPath
blueLayer.fillColor = UIColor.clear.cgColor // 塗り色
blueLayer.strokeColor = UIColor(red: 0.33, green: 0.44, blue: 0.98, alpha: 1.0).cgColor // 線の色
blueLayer.lineWidth = 20.0 // 線の幅
self.view.layer.addSublayer(blueLayer)

動作環境:Xcode10.1, Swift4.2.1

この記事をシェアする

コメント

コメントはありません。

down コメントを残す