2009-07-10 5 views

Répondre

2

Lorsque l'écran est touché, il y aura des événements tactiles. Il y a aussi des événements de retouche et de retouche.

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    NSLog(@"touchesBegan"); 
} 

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    NSLog(@"touchesMoved"); 
} 

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    NSLog(@"touchesEnded"); 
} 

Ensuite, il suffit d'enregistrer votre contrôleur comme touchController.

Consultez également l'exemple d'Apple GLPaint: https://developer.apple.com/iphone/library/samplecode/GLPaint/

+0

C'est beaucoup de travail quand vous pouvez simplement attacher une action à "TouchDownInside" pour n'importe quel UIControl. –

2

Vous pouvez aussi le faire en créant un IBAction et sa connexion IB. Interface builder pour iPhone peut réellement démultiplier différents types d'événements. Si vous cliquez sur un UIButton dans votre interface utilisateur et que vous relâchez le bouton de la souris au lieu de faire glisser une connexion, un inspecteur affiche un ensemble d'actions différentes que vous pouvez câbler. Lorsque vous faites simplement glisser les paramètres par défaut vers le haut "Touch Up Inside", mais si vous le souhaitez, vous pouvez câbler "Touch Down" ou "Touch Down Repeat" et cette action sera provoquée par l'appel du sélecteur approprié. Si vous faites des trucs compliqués avec vos propres gestes, alors utiliser les trucs basés sur touchController sera certainement une meilleure approche, mais pour des choses simples, il suffit d'utiliser les actions basées sur la nib intégrée peut être plus simple.

+0

Quand est-ce que touchDownRepeat est généré? Est-ce que, comme le OP peut l'espérer, il est continuellement pendant que le toucher est "enfoncé" à l'intérieur du bouton? Cela permettrait d'économiser les tracas de la mise en place et la suppression d'une minuterie :) – Olie

Questions connexes