J'ai sous-classé UITableView (en tant que KRTableView) et implémenté les quatre méthodes tactiles (touchesBegan, touchesEnded, touchesMoved et touchesCancelled) afin de pouvoir détecter quand un événement tactile est traité sur un UITableView. Essentiellement, ce que je dois détecter, c'est le moment où l'UITableView défile vers le haut ou vers le bas.
Cependant, la sous-classification de UITableView et la création des méthodes ci-dessus ne détectent que le défilement ou le mouvement du doigt à l'intérieur d'une UITableViewCell, et non sur l'ensemble de UITableView.
Dès que mon doigt est déplacé sur la cellule suivante, les événements tactiles ne font plus rien.
C'est ainsi que je sous-classe UITableView :
#import "KRTableView.h"
@implementation KRTableView
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesBegan:touches withEvent:event];
NSLog(@"touches began...");
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesMoved:touches withEvent:event];
NSLog(@"touchesMoved occured");
}
- (void)touchesCancelled:(NSSet*)touches withEvent:(UIEvent *)event {
[super touchesCancelled:touches withEvent:event];
NSLog(@"touchesCancelled occured");
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
NSLog(@"A tap was detected on KRTableView");
}
@end
Comment puis-je détecter si le UITableView défile vers le haut ou vers le bas ?