Ich möchte Longpressgesture implementieren, wenn meine TouchBegan-Methode dort ist. Ich benutze NSTimer und notiere den Zähler, wenn Zähler 3 wird. Ich habe erkannt, dass lange gedrückt wird. Aber wenn ich die Taste loslasse und dann noch einmal drücke, hält mein Zähler den vorherigen Wert und erhöht den vorherigen Wert. Obwohl ich Zähler gleich Null bin. Bitte helfen Sie jede Hilfe würde approved.Int Wert Persist
var counter : Int = 0
var timer :NSTimer?
override public func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
timer = NSTimer()
counter == 0;
timer = NSTimer.scheduledTimerWithTimeInterval(1, target:self, selector: Selector("updateCounter"), userInfo: nil, repeats: true)
}
func updateCounter() {
print(counter++)
if (counter > 3){
timer!.invalidate()
timer = nil;
}
}
override public func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
timer!.invalidate()
timer = nil;
counter == 0;
}
override public func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
if (counter>=3){
print("hello")
}
}
Warum haben Sie sich entschieden, 'UILongPressGestureRecognizer' nicht zu verwenden? –
Da lange drücken Gestenauswahl nicht aufgerufen –