Ich habe eine UITextView
, dass ich einen einzigen Tipp für erkennen möchte.UITextView Touch-Ereignisse nicht feuern
Es sieht so aus, als wäre ich in Ordnung mit einfach überschreiben touchesEnded:withEvent
und Überprüfung [[touches anyObject] tapCount] == 1
, jedoch dieses Ereignis nicht einmal feuern.
Wenn ich die 4 Veranstaltungen wie diese außer Kraft setzen:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
NSLog(@"touchesBegan (tapCount:%d)", touch.tapCount);
[super touchesBegan:touches withEvent:event];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touches moved");
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
NSLog(@"touchesEnded (tapCount:%d)", touch.tapCount);
[super touchesEnded:touches withEvent:event];
}
-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touches cancelled");
}
ich folgende Ausgabe:
> touchesBegan (tapCount:1)
> touchesCancelled
> touchesBegan (tapCount:1)
> touches moved
> touches moved
> touches moved
> touchesCancelled
Es scheint, ich bekomme das nie touchesEnded
Ereignis.
Irgendwelche Ideen?
Was passiert, wenn Sie Ihre Anrufe auf Super nehmen? –
Ich habe etwas ähnliches mit einer UITextView-Unterklasse getan, um Einzel- und Doppel-Taps zu erkennen - es funktioniert perfekt auf 2.x-Geräten, aber nicht auf 3.0. –
@Reed Ich erwarte, dass Ihre Textansicht dann nicht scrollt. –