Swift:将对象约束到圆形NSLAYOUTSCONSTRAINT中的点?圈锚?

Swift:将对象约束到圆形NSLAYOUTSCONSTRAINT中的点?圈锚?,swift,xcode,autolayout,nslayoutconstraint,cmmotionmanager,Swift,Xcode,Autolayout,Nslayoutconstraint,Cmmotionmanager,在视图控制器中,我有一个UIView(backgroundCircle)和一个UILabel。UILabel正在基于motionManager移动。StartAccelerometer更新数据。使用这些数据,我正在制作label.center点的动画。但是,我希望绑定该运动,使其仅在围绕其起点的圆形区域内移动(就好像它在起点的皮带上一样)。这可能吗?下面的示例代码(如果有帮助) //objects called during set up let

在视图控制器中,我有一个UIView(backgroundCircle)和一个UILabel。UILabel正在基于motionManager移动。StartAccelerometer更新数据。使用这些数据,我正在制作label.center点的动画。但是,我希望绑定该运动,使其仅在围绕其起点的圆形区域内移动(就好像它在起点的皮带上一样)。这可能吗?下面的示例代码(如果有帮助)

            //objects called during set up
            let backgroundCircle = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 300))
            backgroundCircle.layer.cornerRadius = circle.frame.width / 2
            backgroundCircle.backgroundColor = .clear

            let label = UILabel(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
            label.text = "Hello"


            //this is called in a separate function, continuously
             label.center = newCenter

我会尝试使用,尤其是
UICollisionBehavior
,它允许使用bezier路径定义碰撞边界。

本文演示了一个自定义的“圆形滑块”,可能正好包含您需要的信息——特别是在跟踪触摸位置的末端,该位置将“指示器”保持在圆的边缘: