【发布时间】:2020-10-10 21:34:01
【问题描述】:
let xOrigin = (pointsOfPerformance[POP.gluteusMaximus.index].x_origin / 375) * self.view.bounds.width
let yOrigin = (pointsOfPerformance[POP.gluteusMaximus.index].y_origin / 666.6666) * (self.view.bounds.width * 16 / 9)
let p0 = CGPoint(x: xOrigin, y: yOrigin)
let xDest = (pointsOfPerformance[POP.upperBack.index].x_origin / 375) * self.view.bounds.width
let yDest = (pointsOfPerformance[POP.upperBack.index].y_origin / 666.6666) * (self.view.bounds.width * 16 / 9)
let p1 = CGPoint(x: xDest, y: yDest)
let midPoint = CGPoint(x: (xOrigin + xDest) / 2, y:
(yOrigin + yDest) / 2)
let path = UIBezierPath()
path.move(to: p0)
path.addLine(to: p1)
path.addArc(withCenter: p2, radius: 94, startAngle: 200, endAngle: 130, clockwise: true)
let centerOfCircle = makePoint(xOffset: p2.x, yOffset: p2.y)
view.addSubview(centerOfCircle)
let shapeLayer = CAShapeLayer()
shapeLayer.path = path.cgPath
shapeLayer.fillColor = UIColor.animationRed.cgColor
shapeLayer.strokeColor = UIColor.animationRed.cgColor
shapeLayer.lineWidth = 0.05
view.layer.addSublayer(shapeLayer)
我怎样才能让圆圈只显示为从背面脱离线的曲线的一部分。目前尚不清楚我如何操纵该功能以仅使背面脱离线的部分可见。
【问题讨论】:
-
你试过了吗:func addArc(withCenter center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, 顺时针: Bool)。这应该适用于 UIBezierPath。
-
嗨。当我尝试时,我只能让整个圆圈出现。
-
如果你得到一个圆圈,试着减小末端角度。例如,使用 startAngle: 0 和 endAngle:180(不是 endAngle:360)
-
编辑示例代码以显示另一个 appendArc 函数(希望是您正在使用的函数)。
-
感谢 apodidae。我得到了这个函数,它画了一个圆圈。但是我已经修改了我的帖子以说明我正在努力解决的问题。任何进一步的帮助将不胜感激。
标签: swift core-graphics