2013-07-01 3 views
2

Мне нужна помощь в реализации жесты перетаскивания, мне хотелось бы узнать ваше мнение, чтобы найти лучший подход.перетаскивание из uitableviewcell в uiimage view в ios

У меня есть контроллер просмотра с uitableview справа и некоторые виды изображений слева.

Я хотел бы разрешить пользователю перетаскивать каждую ячейку таблицы на одном из изображений. В принципе, drag-n-drop не будет работать, если ячейка не будет выпущена на одном из изображений, иначе изображение будет изменять изображение в соответствии с удаленной ячейкой.

Как вы думаете, что это лучший способ достичь этого?

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

Спасибо,

+0

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

ответ

6

Основные шаги для этого было бы:

  • Добавить длинный пресс жест распознаватель к представлению таблицы (всего зрения, а не отдельные клетки)
  • Когда начинается жест , найдите, в какой ячейке он закончил (конвертировать точку, затем пользовательский индексPathForRowAtPoint, чтобы получить ячейку)
  • Сделайте копию этой ячейки, которая станет перетаскиваемой (сделайте снимок, добавьте его в UIImageView и добавьте его в свой основной Посмотреть). Или вы могли бы сделать вид взглядом, но вы хотите, если хотите, чтобы он выглядел как ячейка
  • сделать вашу оригинальную ячейку скрытой, чтобы она выглядела так, как будто она перетаскивается
  • На жесте изменилось, переместите положение этого изображения на основе locationInView этого жеста)
  • На жесте, проверьте, находится ли ячейка над изображением (hitTest: для этого) и выполняйте любые анимации или вычисления, которые вам нужны.
+0

спасибо за ваш комментарий, и я почти сделал , но тот образ, который мне нужно перетащить, не идет вместе с указателем мыши, пожалуйста, вы можете дать какую-либо идею. – user2361155

+0

показать код, который вы используете для его перемещения. –

+0

Я недавно реализовал здесь: https://github.com/Ice3SteveFortune/ i3-dragndrop – sf13579

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