Получите прикосновения Начать с подпредставления (UIWebView) - PullRequest
3 голосов
/ 02 марта 2012

У меня есть UIWebView, который добавляется как подпредставление в UIview, и я хотел бы определить, когда к этому UIWebView прикасаются, но touchSegan просто не работают.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 02 марта 2012
  1. Подкласс UIWebView в вашем коде, а затем реализация touchesBegan в вашем классе.
  2. Добавьте вложенное веб-представление в качестве подпредставления вашего UIView.
  3. Вызовите super в подклассе UIWebView

    - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
    {
        [super touchesBegan: touches withEvent: event];
    }
    
0 голосов
/ 29 января 2014

Создание подклассов и ожидание касаний Начать вам не поможет, так как его не вызовут.
Я вложил в подкласс UIWebView и просто «включил» его распознаватели жестов в подпредставлениях глубиной 2 уровня (вы можете пойти рекурсивно, но этого достаточно для iOS6-7). Затем вы можете делать все, что захотите, с помощью сенсорного местоположения и состояния распознавателя жестов.

for (UIView* view in self.subviews) {
    for (UIGestureRecognizer* recognizer in view.gestureRecognizers) {
        [recognizer addTarget:self action:@selector(touchEvent:)];
    }
    for (UIView* sview in view.subviews) {
        for (UIGestureRecognizer* recognizer in sview.gestureRecognizers) {
            [recognizer addTarget:self action:@selector(touchEvent:)];
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...