Swift 将bezier路径居中到UIview?

Swift 将bezier路径居中到UIview?,swift,animation,uikit,constraints,uibezierpath,Swift,Animation,Uikit,Constraints,Uibezierpath,就我的一生而言,我无法将这条贝塞尔路径(下面显示的圆圈)居中。橙色视图受到适当约束并水平对齐,但是当我使用下面的方法向橙色视图添加3个层时,我似乎无法将其居中放置到橙色视图。我将橙色视图声明为喷丝头支架 1-将arcCenter更改为 let circularPath = UIBezierPath(arcCenter: CGPoint(x:spinnerHolder.frame.width/2, y:spinnerHolder.frame.height/2),

就我的一生而言,我无法将这条贝塞尔路径(下面显示的圆圈)居中。橙色视图受到适当约束并水平对齐,但是当我使用下面的方法向橙色视图添加3个层时,我似乎无法将其居中放置到橙色视图。我将橙色视图声明为
喷丝头支架


1-将
arcCenter
更改为

let circularPath = UIBezierPath(arcCenter: CGPoint(x:spinnerHolder.frame.width/2, y:spinnerHolder.frame.height/2),
                                radius: 30,
                                startAngle: 0,
                                endAngle: 2 * CGFloat.pi,
                                clockwise: true)
2-对此发表评论

layer.position = spinnerHolder.center
3-在
viewdilayoutsubviews

var once = false
override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    if once {
        spinnerHolder.addSublayer(createCircleShapeLayer(,,,,,))
        once = false
    }
}
viewdilayoutsubviews
内部调用不是必需的,可以随时/随时随地添加它,但不能在VC加载之前添加


4-选中此项

将弧中心点设置为

let centerPoint = CGPoint(x:self.viewRect.bounds.midX, y: self.viewRect.bounds.midY)
let centerPoint = CGPoint(x:self.viewRect.bounds.midX, y: self.viewRect.bounds.midY)