2010-12-13 2 views
2

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

Я хочу, чтобы выполнить следующие действия:

  1. Получит сенсорные события, которые вращают колесо на основе положения пальцев в touchesMoved
  2. Magnify изображения, которое находится внутри выбранного индикатора изображения, когда оно проходит.

Я думал о базовой анимации Basic Animation и анимации вращения. Использование анимационной группы и поворот вокруг нее.

Задача 1: Как синхронизировать анимацию с событиями касания.

Проблема 2: Как я узнаю, какое изображение мне нужно увеличить, например, CGAffineTransformMakeScale.

Есть ли наилучшая практика для моей проблемы. Особенно с учетом производительности?

http://img24.imageshack.us/img24/8596/imagezy.png

+0

Привет, где вы можете найти хорошую практику для достижения этой цели. Буду признателен, если вы можете дать некоторые рекомендации. благодаря – Sarah

ответ

1

Вы можете достичь этого путем обновления колесо для каждого touchmoved события.

Для каждого касания, касания, вы можете узнать угол линии от центра колеса до пальца. Вы сохраняете начальный угол, тогда вы узнаете угол рассеяния. Колесо может вращаться, зависит от вашего пальца, используя угол.

Вы можете увеличить изображение одним из этих двух способов. 1. Вы можете узнать, какой угол значка изображения на всем колесе, а также узнать текущий угол колеса. Итак, если значок изображения находится между прямым углом. Ex. если колесо находится на уровне 45 градусов, тогда значок на -45 или 360-45 градусов будет увеличен. 2. проверьте происхождение y каждого изображения, если значок изображения изображения y находится выше порогового значения.

Смежные вопросы