AVISO: Cualquier pregunta que no cumpla ninguno de estos criterios podrá ser borrada sin previo aviso.

Buenas,

Estoy tratando de encontrar alguna forma de responder a eventos (en concreto un touch up inside) dentro de un UIWEBVIEW de iOS. Según la documentación, la clase uiwebview no se debe "subclasear", pero tampoco responde a eventos tipo touch up inside.... ¿Alguna idea?

preguntado 08 May '11, 10:35

txancete's gravatar image

txancete
276239

editó 08 May '11, 10:38


Si crear una subclase de UIWebView no te gusta, otra opción sería crear una subclase de UIWindow y sobreescribir su método sendEvent para interceptar los eventos, meter la lógica que necesites y luego despachar los eventos de nuevo al destino correcto.

- (void)sendEvent:(UIEvent *)event {
    NSSet *touches = [event allTouches];
    UITouch *touch = [touches anyObject];
    UIView *touchView = [[[touch view] superview] superview];
    if ((touchView != nil) && [touchView isKindOfClass:[UIWebView class]]) {
        // hacer algo (touch tiene info para determinar el tipo de evento)
    }
    [super sendEvent:event];
}
enlace permanente

respondido 14 Jul '11, 23:27

xeleh's gravatar image

xeleh
1.3k21028

Estudia un poco este código, hace algo parecido a lo que quieres:

WebViewTappingHack

enlace permanente

respondido 08 May '11, 23:24

xeleh's gravatar image

xeleh
1.3k21028

Gracias, pero esa solución crea una subclase de UIWebView, cosa que Apple dice que no deberíamos hacer...

(14 Jul '11, 10:15) txancete
Tu respuesta:
Activar/desactivar vista previa

Sobre esta pregunta

Etiquetas de la pregunta:

×282
×51
×11
×9

Pregunta realizada el: 08 May '11, 10:35

Pregunta visitada: 1,144 veces

Última modificación: 14 Jul '11, 23:27

Seguir esta pregunta

Por Email:

Una vez que entres podrás suscribirte desde aquí para recibir actualizaciones

Por RSS:

Respuestas

Respuestas y Comentarios

Realizar Donación