我有这段代码:
let arcPath = UIBezierPath(ovalInRect: CGRectMake(0, 0, frame.width, frame.height))
circleLayer = CAShapeLayer()
circleLayer.path = arcPath.CGPath
circleLayer.fillColor = UIColor.clearColor().CGColor
circleLayer.strokeColor = UIColor.blueColor().CGColor
circleLayer.lineWidth = 5.0;
circleLayer.strokeStart = 0
circleLayer.strokeEnd = 0.7
结果如下:
如您所见,圆弧从圆的右侧开始。我想从顶部开始画弧。我该怎么办?我是否必须将整个事物旋转-90度才能完成我想要做的事情?
感谢。
答案 0 :(得分:13)
您可以像这样创建路径
let bezierPath = UIBezierPath(arcCenter:CGPointMake(100,100), radius:40, startAngle: CGFloat(M_PI_2) * 3.0, endAngle:CGFloat(M_PI_2) * 3.0 + CGFloat(M_PI) * 2.0, clockwise: true)
SceenShot
答案 1 :(得分:0)
我认为从原始90 * M_PI / 180
和startAngle
中减去endAngle
就足以完成此任务。
天知道为什么Apple决定将90度视为最高等级。