2012-06-20 7 views
8

Tengo un UIView personalizado que implementa hitTest: withEvent:hitTest: withEvent: UIEvent allTouches está vacía

-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event 
{ 
    .... some code .... 

    int x = 0; 
    x= [[event allTouches] count]; 
    return [super hitTest:point withEvent:event]; 
} 

El problema es que x es siempre 0. ¿Tengo que poner en práctica otras API o configurar el UIView para empezar obteniendo los toques?

Solo lo necesitaba para diferenciar entre inicio táctil/mover y finalizar.

Gracias Jamil

+0

¿Qué se muestra por 'NSLog (@" Evento:% @ ", evento);'? –

+0

Evento: marca de tiempo: 0 toques: {( )} Evento: marca de tiempo: 0 toques: {( )} Evento: indicación de la hora: 248999 toques: { ( )} – Jamil

+0

@PhillipMills hitTest se llama tres veces con los registros por encima de – Jamil

Respuesta

-3

probar este

yourView.userInteractionEnabled = YES; 

iOs ofrece la posibilidad de anular las interacciones de los usuarios en la vista de jerarquías. Se dice que en la cadena de eventos en iOS es posible ignorar el evento táctil en la vista más inmediata en las pilas de vistas y luego la siguiente vista en la jerarquía intentará asumir la responsabilidad de responder a la interacción.

Dicho todo lo anterior, puede suceder que la vista que debe responder a la interacción del usuario se configure en NO, por lo que la siguiente vista en la jerarquía responderá al evento. Esta puede ser la razón por la que no estaba funcionando para usted.

+0

¿Por qué? ¿Por qué debería intentar esto? Edita tu respuesta para ser más informativo. – CodaFi

+0

Hecho espero que sea más claro lo siento por eso – artud2000

Cuestiones relacionadas