В контроллере вида у меня есть UIView (backgroundCircle) и UILabel. UILabel перемещается на основе данных motionManager.startAccelerometerUpdates. Используя эти данные, я анимирую точку label.center. Тем не менее, я хочу ограничить движение так, чтобы оно двигалось только внутри круглой области вокруг своей начальной точки (как если бы оно находилось на линии sh от начальной точки). Это возможно? Пример кода ниже, если это поможет.
//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