начало движения touchsMoved / UIPanGestureRecognizer в середине хода для нового представления - PullRequest
1 голос
/ 24 сентября 2010

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

  1. имел сенсорное событие
  2. , добавил прозрачный весь экран UIView и вставил UIImageView, содержащий значок на нем.
  3. отслеживание touchMovesили uiPanGestureRecognizer и перемещайте UIImageView до касания

Проблема заключается в том, что touchMoves (и uiPanGestureRecognizer) не отслеживают, пока пользователь не поднимает палец и не опускает его обратно.то есть происходит следующее:

  1. значок имеет сенсорное событие
  2. добавить прозрачный весь экран UIView и добавить подпредставление UIImageView, содержащее значок на нем.
  3. пользователь перетаскивает палец иничего не происходит, поэтому они поднимают палец и перетаскивают
  4. отслеживание touchMoves или uiPanGestureRecognizer и перемещают UIImageView до тех пор, пока не дотронутся до

По-видимому, для UIView, чтобы распознать перетаскивание, кажется,должны происходить из UIView.Я пытался (наивно) просто отправить событие приземления в прозрачный вид, но оно не работает.

Есть еще идеи?

большое спасибо ...

Ответы [ 2 ]

1 голос
/ 28 ноября 2010

Хитрость заключается в том, чтобы использовать один UIPanGestureRecognizer.Добавьте один к своему оригинальному значку (UIView) и используйте его, чтобы обнаружить начальное прикосновение и начало кастрюли.Когда UIPanGestureRecognizer входит в UIGestureRecognizerStateBegan, создайте представление, которое будет анимировать перетаскивание.Исходный вид значка и обработчик будут продолжать получать обратные вызовы.Вы можете проверить UIGestureRecognizerStateChanged и перевести новый движущийся вид из исходного обработчика.

1 голос
/ 05 октября 2010

Насколько я могу судить, вы не можете начать перетаскивание с любого вида, кроме того, с которого было инициировано перетаскивание. Для тех, кто имеет доступ, взгляните на проект автоматической прокрутки WWDC 2010. Они в основном начинают перетаскивание в представлении ячейки таблицы, а затем позволяют перетаскивать эту TableCell из представления таблицы. Это хорошо работает и, вероятно, я выберу маршрут.

...