Не получено прикосновений Закруглено / Перемещено / Отменено после добавления подпункта - PullRequest
7 голосов
/ 19 марта 2010

Название более или менее говорит само за себя. В ответ на событие touchesBegan my UIViewController перекрашивает себя и добавляет некоторые подпредставления.

Он никогда не получает touchesEnded. Я думаю, потому что добавленные подпредставления каким-то образом перехватывают событие. Я пытался дозвониться до resignFirstResponder, но безрезультатно.

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

Есть идеи?

Спасибо

РЕДАКТИРОВАТЬ: немного деталей и как я это исправил.

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

Я исправил это, переопределив hitTest: withEvent в моем главном представлении, чтобы остановить касания, которые когда-либо тестировались на подвиды

Ответы [ 2 ]

8 голосов
/ 25 марта 2010

Вы пытались установить для свойства userInteractionEnabled значение NO для подпредставления, прежде чем добавить его в качестве подпредставления?

1 голос
/ 19 марта 2010

Вам нужно будет передать касание из подпредставления в суперпредставление, используя что-то вроде этого:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    [super touchesBegan:touches withEvent:event];
}
...