Wie kann man einen langen Halt für einen Finger im iPhone verfolgen?
Frage
Wie könnte ich 2 Sekunden lang ein Ereignis wie Touch auf dem iPhone -Bildschirm verfolgen? Wie in Safari, um ein Bild für ein Bild hinzugefügt zu einem UIWebview hinzugefügt?
Lösung
Erstellen Sie einen Nstimer mit +scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
in Ihrer Ansicht -touchesBegan:withEvent:
Methode und stornieren es (mit Verwendung -invalidate
) in -touchesEnded:withEvent:
. Wenn die Methode ihre Auswahlpunkte aufgerufen wird, hielt der Benutzer den Finger für die Dauer, auf die Sie das Timer -Intervall festlegen. Beispiel:
Schnittstelle (.h):
@interface MyView : UIView
...
NSTimer *holdTimer;
@end
Implementierung (.m):
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)evt
{
[holdTimer invalidate];
holdTimer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(touchWasHeld) userInfo:nil repeats:NO];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)evt
{
[holdTimer invalidate];
holdTimer = nil;
}
- (void)touchWasHeld
{
holdTimer = nil;
// do your "held" behavior here
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow