Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ViewController: UIViewController {
- override func viewDidLoad() {
- super.viewDidLoad()
- let pieChart = PieChart(frame: CGRect(x: self.view.center.x, y: self.view.center.y, width: 300.0, height: 300.0))
- pieChart.backgroundColor = UIColor.clear
- self.view.addSubview(pieChart)
- pieChart.center = self.view.center
- }
- }
- class PieChart : UIView {
- override func draw(_ rect: CGRect) {
- drawSlice(rect, startPercent: 0, endPercent: 100, color: UIColor.gray)
- drawSlice(rect, startPercent: 30, endPercent: 65, color: UIColor.red)
- }
- private func drawSlice(_ rect: CGRect, startPercent: CGFloat, endPercent: CGFloat, color: UIColor) {
- let center = CGPoint(x: rect.origin.x + rect.width / 2, y: rect.origin.y + rect.height / 2)
- let radius = min(rect.width, rect.height) / 2
- let startAngle = startPercent / 100 * CGFloat(Double.pi) * 2 - CGFloat(Double.pi)
- let endAngle = endPercent / 100 * CGFloat(Double.pi) * 2 - CGFloat(Double.pi)
- let path = UIBezierPath()
- path.move(to: center)
- path.addArc(withCenter: center, radius: radius, startAngle: startAngle, endAngle: endAngle, clockwise: true)
- path.close()
- path.stroke()
- color.setFill()
- path.fill()
- }
- }
Add Comment
Please, Sign In to add comment