Контроль типа циферблата iPhone определяет текущее положение?

#iphone #objective-c #ios4

#iPhone #objective-c #ios4

Вопрос:

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

Эта часть работает отлично.

https://skitch.com/aaronwardle/r76m1/dial

Вокруг циферблата у меня есть несколько меток для размещения цифр, например, пользователь должен повернуть его в положение 12, 3, 6 или 9.

Теперь я немного зациклен на том, как я могу определить, в какое положение они повернулись, а также что мне делать, если они не полностью поворачиваются на нужное число.

https://skitch.com/aaronwardle/r76m4/dialpartway

Любые предложения приветствуются.

Спасибо, Аарон

Ответ №1:

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

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

Комментарии:

1. Спасибо за ответ, я попробую, похоже, это хороший способ сделать это.