Как переместить UIView вдоль изогнутого CGPath в соответствии с перетаскиванием пользователем вида - PullRequest
4 голосов
/ 15 июня 2011

Я пытаюсь создать интерфейс, чтобы пользователь мог перемещать палец по экрану, а список изображений перемещался по пути.Идея заключается в том, что центр изображений не оставляет путь.

Большинство вещей, которые я обнаружил, касалось анимации с использованием CGPath, а не фактического использования пути в качестве дорожки для движения пользователя.

== Обновление.Лучшее описание ==

Мне нужно, чтобы объекты отслеживались на пути, даже если пользователь не двигает пальцами по пути.

Например (изображение ниже),если объект находится в начале пути, и пользователь касается любого места на экране и двигает пальцами слева направо, мне нужно, чтобы объект двигался слева направо, но следуя пути, то есть поднимаясь по мере продвижения квправо к концу пути.

== Окончание обновления

Это путь, который я нарисовал, представьте, что у меня будет представление (любое изображение), к которому пользователь может прикоснуться иперетащите его по дорожке, нет необходимости точно перемещать палец по дорожке.Если пользователь перемещается слева направо, изображение должно двигаться слева направо, но, если необходимо, подниматься по пути.

The curved path

Вот как я создаю путь:

   CGPoint endPointUp = CGPointMake(315, 124);
    CGPoint endPointDown = CGPointMake(0, 403);
    CGPoint controlPoint1 = CGPointMake(133, 187);
    CGPoint controlPoint2 = CGPointMake(174, 318);

    CGMutablePathRef path = CGPathCreateMutable();
    CGPathMoveToPoint(path, NULL, endPointUp.x, endPointUp.y);
    CGPathAddCurveToPoint(path, NULL, controlPoint1.x, controlPoint1.y, controlPoint2.x, controlPoint2.y, endPointDown.x, endPointDown.y);

Есть идеи, как мне этого добиться?

1 Ответ

0 голосов
/ 21 июня 2011

Вы можете взять математическую функцию, которая рисует график, а затем двигаться по этой траектории
объекта.

...