Обработка прикосновений родительского вида - PullRequest
2 голосов
/ 20 июня 2011

У меня есть UIView, у которого есть 3 подпредставления, и мне нужно обрабатывать прикосновения каждый раз на суперпредставлении и также на подпредставлениях, но подпредставления перехватывает прикосновения. Как я могу это сделать? Благодарю. UPD: Так более простого метода не существует? Оказывается, проще отловить событие, чем наследование.

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

Вам необходимо переопределить сенсорные события в подвидах, как показано ниже:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self.nextResponder touchesBegan: touches withEvent:event]; 
    [super touchesBegan: touches withEvent: event];
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self.nextResponder touchesMoved: touches withEvent:event]; 
    [super touchesMoved: touches withEvent: event];
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    [self.nextResponder touchesEnded: touches withEvent:event]; 
    [super touchesEnded: touches withEvent: event];
}
2 голосов
/ 20 июня 2011

Вы можете запретить подпунктам принимать касания, используя

[subView setUserinteractionEnabled: NO];

Таким образом, они не будут перехватывать события касания и будут отправляться только в родительское представление.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...