2013-01-21 9 views
0

J'explore la façon dont les événements tactiles sont traités sur les appareils iOS. J'ai référé le livre: iOS Open Application Development. En travaillant dessus, je remplace les méthodes mouseDown, mouseUp et affiche simplement les coordonnées dans une boîte d'alerte. Cependant, les méthodes surchargées ne sont jamais appelées. Voici le code de la classe NewView qui dérive de UIView:Gestion des événements tactiles sur les appareils iOS

-(void) _mouseDown: (GSEventRef) event{ 
CGPoint point =GSEventGetLocationInWindow(event); 
UIAlertView* alert; 
NSString* alertString =[NSString stringWithFormat: @"%f %f", point.x, point.y]; 
alert = [[UIALertView alloc] initWithTitle:@"Success" message:alertString delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
[alert show]; 
} 

-(BOOL) canHandleGestures{ 
return YES; 
} 

Y at-il une partie que je manque? En outre, existe-t-il une autre façon d'obtenir des informations sur les événements tactiles et de les gérer?

Répondre

4

meilleur point de départ serait ici: https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/multitouch_background/multitouch_background.html

Ce sont les méthodes que vous pouvez passer outre dans une sous-classe UIView:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event 
3

Vous pouvez utiliser:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {} 

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {} 

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {} 

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {} 

pour obtenir contact événements de la sous-classe UIView.

Questions connexes