J'ai un UIWebView qui est ajouté comme une sous-vue dans un UIview et je voudrais détecter quand cet UIWebView est touché, mais toucheBegan ne fonctionne tout simplement pas.
Une idée ?
Appel super dans le UIWebView sous-classé
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesBegan: touches withEvent: event]; }
Sous-classment et attente de touchesBegan ne vous aidera pas, car il ne sera pas appelé.
J'ai sous-classé UIWebView
et juste "sangsues" sur ses reconnaisseurs de gestes dans les sous-vues 2 niveaux de profondeur (vous pourriez aller récursivement mais c'est assez pour iOS6-7). Ensuite, vous pouvez faire ce que vous voulez avec l'location tactile et l'état du détecteur de mouvement.
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:)]; } } }