У меня есть один круг и 4 дуги, расположенные вокруг этого круга.
В настоящее время я рисую дуги так:
fileprivate func addArc(from startAngle: CGFloat, to endAngle: CGFloat, of color: SKColor, with text: String) {
let arc = UIBezierPath(arcCenter: CGPoint(x: 0, y: 0), radius: 100, startAngle: startAngle, endAngle: endAngle, clockwise: false)
arc.flatness = 100
let node = SKShapeNode()
node.lineWidth = 36
node.strokeColor = color
node.path = arc.cgPath
addChild(node)
}
и когда я позже попытаюсь добавить новый LabelNode в мою дугу,
let labelNode = SKLabelNode(text: text)
labelNode.horizontalAlignmentMode = .center
labelNode.verticalAlignmentMode = .center
node.addChild(labelNode)
что NodeLabel добавляется в середину круга, но не в середину дуг.
Я обнаружил, что ошибка в этой строке:
let arc = UIBezierPath(arcCenter: CGPoint(x: 0, y: 0), radius: 100, startAngle: startAngle, endAngle: endAngle, clockwise: false)
где я устанавливаю arcCenter
.
Итак, вопрос в том, как я могу сместить центр этих дуг, чтобы labelNodes были добавлены в дуги, а не в круг?