Ich habe UITableView (als KRTableView) subklassifiziert und die vier Touch-basierten Methoden (touchesBegan, touchesEnded, touchesMoved und touchesCancelled) implementiert, so dass ich erkennen kann, wann ein Touch-basiertes Ereignis in einem UITableView behandelt wird . Im Wesentlichen muss ich erkennen, wenn der UITableView nach oben oder unten scrollt.UITableView scrollen
Die Unterklasse UITableView und das Erstellen der obigen Methoden erkennt jedoch nur, wenn Scrollen oder Fingerbewegung innerhalb einer UITableViewCell auftritt, nicht auf der gesamten UITableView.
Sobald mein Finger in die nächste Zelle bewegt wird, machen die Berührungsereignisse nichts. Diese
ist, wie ich Subklassen 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
Wie kann ich erkennen, wenn der UITableView wird Scrollen nach oben oder nach unten?
viewDidScroll wird so lange genannt halten wird, wie Sie scrollen. Sie können also Ihre Variable isDragging nicht auf scrollViewDidScroll setzen. –
IST ES MÖGLICH, ZWISCHEN ROLLEN NACH OBEN ODER NACH UNTEN ZU UNTERSCHEIDEN? – Markus
@Markus https://stackoverflow.com/questions/2543670/finding-the-direction-of-scrolling-in-a-uiscrollview – tdios