2016-03-29 7 views
-1

Wie kann ich eine Aktion in Swift auslösen, wenn zwei Tasten gleichzeitig gedrückt werden? Mein Code unten löst die Aktion aus, wenn eine Taste gedrückt wird. Ich möchte, dass diese Aktion nur ausgelöst wird, wenn beide Tasten angetippt werden.Aktion ausgelöst, wenn zwei Tasten angetippt werden

class ViewController: UIViewController { 

    @IBOutlet weak var leftButton: UIButton! 
    @IBOutlet weak var rightButton: UIButton! 

    override func viewDidLoad() { 
    super.viewDidLoad() 
    leftButton.addTarget(self, action: #selector(ViewController.leftButtonClicked), forControlEvents: .TouchUpInside) 
    } 

    func leftButtonClicked() { 
     // Do something 
    } 
} 

Muss ich UIGestureRecognizer verwenden oder können über die addTarget Aktion getan werden? Wie würde der Code aussehen?

+0

Ich fand dies, hoffe es hilft: http://stackoverflow.com/questions/9039115/two-button-simultaneous-press-input –

+1

Danke, dieser Beitrag war die Antwort in Objective C und ich habe es in Swift übersetzt , die ich in einer Minute veröffentlichen werde. – Anders

Antwort

1

Mit Hilfe des Kommentars oben ich jetzt die Lösung in Swift geschrieben habe, und es stellt mich heraus, sehr einfach zu sein:

class ViewController: UIViewController { 

    @IBOutlet weak var leftButton: UIButton! 
    @IBOutlet weak var rightButton: UIButton! 

    @IBAction func touchButton(sender: AnyObject) { 
    if leftButton.touchInside && rightButton.touchInside { 
     print("Two buttons pressed") 
} 

ich die Unordnung entfernt, die nicht relevant für die Lösung ist.