我必须实现半填充颜色的圆圈。我找到了第三方api,但我不想使用它们。没有第三方有没有办法画圆圈。我想这样:http://justpaste.it/jv07
答案 0 :(得分:0)
有几种方法可以达到这种效果。可能最简单的方法是制作灰色圆圈,然后制作部分圆弧。
一个有用的绘图范例是将每个区域视为一个单独的东西,分层设置。你绘制的顺序是它们从后到前显示的顺序。
答案 1 :(得分:0)
您可以将CAShapeLayer strokeEnd属性用于部分椭圆形笔划。
CAShapeLayer * oval3 = [CAShapeLayer layer];
oval3.frame = CGRectMake(0, 0, 100, 100);
oval3.fillColor = nil;
oval3.strokeColor = [UIColor greenColor].CGColor;
oval3.lineWidth = 13;
oval3.strokeEnd = 0.6;
UIBezierPath* oval3Path = [UIBezierPath bezierPathWithOvalInRect:oval3.bounds];
oval3.path = oval3Path.CGPath;
答案 2 :(得分:0)
这将绘制一个半圆,并以快速4.2的一半填充
let shape = CAShapeLayer()
shape.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
shape.fillColor = UIColor.green.cgColor
let path = UIBezierPath(arcCenter: CGPoint(x: 50, y: 50), radius: 50, startAngle: 3*CGFloat.pi/2, endAngle: CGFloat.pi/2, clockwise: false)
shape.path = path.cgPath
有关更多信息 https://developer.apple.com/documentation/uikit/uibezierpath/1624358-bezierpathwitharccenter