Swift: Ограничить объект и указать внутри кругового NSLayoutConstraint? Круг якорь? - PullRequest
0 голосов
/ 24 марта 2020

В контроллере вида у меня есть 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

1 Ответ

0 голосов
/ 24 марта 2020

Я бы попробовал использовать UIKit Dynamics , особенно UICollisionBehavior, который позволяет определять границы столкновений с использованием более простых путей.

...