Лучший способ оживить вращающееся колесо, реагирующее на прикосновения - PullRequest
2 голосов
/ 13 декабря 2010

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

Я хочу сделать следующее:

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

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

Проблема 1: Как синхронизировать анимацию с сенсорными событиями.

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

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

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

1 Ответ

1 голос
/ 27 апреля 2012

Этого можно добиться, обновляя колесо для каждого события касания.

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

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

...