2017-01-30 8 views

ответ

0

Почему вы используете touchesBegan & touchesEnded методы? Если у вас есть tableView, вы должны использовать метод делегирования didSelectRowAtIndexPath. И вы также можете использовать segues, если используете раскадровки.

1

Это на самом деле не просто. Вы можете начать с

  1. Добавление панорамирование жест распознаватель (UIPanGestureRecognizer) для просмотра представления контроллера корневого().

  2. Когда начинается панорамирования (т.е. пользователь прикасается к экрану), в цикле видимых клеток Master View в представление таблицы, чтобы увидеть, если точка находится внутри любой ячейки, используя UIView «ы convertPoint:fromView:. Возможно, вам потребуется настроить тайминги, чтобы избежать вмешательства в прокрутку и нажатие таблицы.

  3. Если ячейка содержит точку панорамы, создайте «представление индикатора» (которое показывает, что пользователь перетаскивает) и добавьте его в представление контроллера корневого представления поверх всего остального и правильно разместите его, например. под пальцем пользователя.

  4. При изменении панорамирования (то есть пользователь перемещает палец) обновите местоположение индикатора.

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

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