iOS >> Клонирование объекта пользовательского интерфейса для перетаскивания

Я хочу реализовать механизм перетаскивания для объектов пользовательского интерфейса - UIImageViews, UIButtons и т. Д. Он должен работать следующим образом:

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

Теперь... я понимаю, что должен создать новый объект пользовательского интерфейса и добавить его в качестве подпредставления к свойству VC.view и реализовать реализацию Gesture Recognizer для этого клонированного объекта.

Вот мои вопросы:

  • Если мой исходный объект является подпредставлением другого представления (например, VC.view.subviews[2]) - как я могу перевести его FRAME из этого подпредставления в VC.view FRAME?
  • Как мне сделать так, чтобы он отвечал на Жест Пан вместо Оригинального Объекта?

1 ответ

В: Если мой Исходный объект является Подвидом другого Представления (например, VC.view.subviews[2]) - Как я могу перевести его FRAME из этого Подвида в VC.view FRAME?

Ans:

 CGPoint refPoint = [VC.view convertPoint:self.frame.origin fromView:VC.view.subviews[2]];

В: Как мне сделать так, чтобы он стал отвечающим за Жест Пан вместо Оригинального Объекта?

Ответ: Вам также необходимо добавить жест панорамирования к клонированному объекту.

Другие вопросы по тегам