Это зависит от того, какой механизм ввода вы хотите использовать для управления вращением.
Если ручка вращается на основе одного касания пальцем, перетаскивая ее из стороны в сторону, вы можете создать UIPanGestureRecognizer
и прикрепить ее к ручке UIImageView
. Метод translationInView:
возвращает значение CGPoint
, которое представляет собой величину перемещения X и Y от точки приземления. Вы можете добавить это в формулу, подобную той, которую вы публикуете, чтобы получить угол поворота. Вы хотите отслеживать дельту из последней позиции, а также проверять пределы стопа (например, 0..360), чтобы предотвратить чрезмерное вращение.
OTOH, если вы собираетесь использовать вращение двумя пальцами, вам нужно будет использовать UIRotationGestureRecognizer
и искать значение rotation
. Просто введите это в CGAffineTransformRotate
и установите преобразование UIImageView
. Это позаботится обо всем вышеперечисленном для вас. Опять же, вы захотите проверить ограничения на стоп.