UIWindow перестает получать прикосновения после удаления из него подпредставления - PullRequest
0 голосов
/ 21 августа 2011

Я использую подкласс UIWindow для обработки события касания во всех представлениях приложения.Я пытаюсь реализовать механизм перетаскивания.

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

help?

РЕДАКТИРОВАТЬ: я обнаружил, что после удаления подпредставления окнополучает касания, но фаза касания - UITouchPhaseStationary, а не UITouchPhaseMoved, хотя в [событиях касаний] есть только одна UITouch;как это возможно?

1 Ответ

0 голосов
/ 23 декабря 2011

Я не совсем уверен, но я думаю, что ваша проблема в том, что вы пытаетесь обрабатывать события в классе UIWindow, а не UIViewController классе. UIWindow не предназначен для этого. Почему бы вам не попробовать это:

  1. Добавьте экземпляр класса UIViewController в ваш проект.
  2. Добавьте представление этого UIViewController в UIWindow экземпляр.
  3. Добавьте метод обработки касания к UIViewController.
  4. Добавьте ваш первый просмотр к UIViewController.
  5. Ответить на событие касания.
  6. Удалите первый вид из UIViewController и введите второй вид или что-то еще. (Это своего рода обмен мнениями под UIViewController, а не UIWindow.)
...