Не получая touchesEnded/Moved/Cancelled после добавляющего подпредставления

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

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

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

Какие-либо идеи?

Спасибо

Править: Бит детали и как я зафиксировал его.

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

Я зафиксировал это путем переопределения hitTest:withEvent в моем основном представлении, для остановки касаний, когда-либо протестированных против подпредставлений

7
задан Sam 23 March 2010 в 16:09
поделиться

2 ответа

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

8
ответ дан 7 December 2019 в 03:14
поделиться

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

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

    [super touchesBegan:touches withEvent:event];
}
1
ответ дан 7 December 2019 в 03:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: