Beim Nutzen von SwipeGestures funktioniert touchesBegan() nicht wie gewohnt

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Beim Nutzen von SwipeGestures funktioniert touchesBegan() nicht wie gewohnt

    Hallo,
    ich habe das Problem, dass ein Teil der touchesBegan() Funktion nicht, wie es sonst in jeden anderen meiner Projekte üblich ist, richtig aufgerufen wird. Zwar wird erkannt, dass der User auf dem Bildschirm tippt, jedoch passiert nichts, wenn man auf ein bestimmtes im Code angegebenes Objekt drückt. Der nun folgende Code sollte das Problem verständlich darstellen:

    Quellcode

    1. override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    2. for touch in touches {
    3. print("touch")
    4. let locationUser = touch.location(in: self)
    5. if self.atPoint(locationUser) == button {
    6. print("touch button")
    7. }
    8. }
    9. }

    Beim Berühren des Bildschirmes wird wie gewohnt "touch" ausgegeben. Jedoch wenn man den Button drückt (siehe Zeile 5), so wird nicht "touch button" ausgegeben.
    Wie bereits im Titel erwähnt, denke ich, dass es an den SwipeGestures liegen könnte, da diese ebenfalls beim Berühren des Bildschirms aktiv werden.

    Beim einmaligen Drücken des Bildschirmes:

    Quellcode

    1. @objc func tappedView(_ sender:UITapGestureRecognizer) {
    2. let point:CGPoint = sender.location(in: self.view)
    3. print("Single tap")
    4. print(point)
    5. }
    Über didMove():

    Quellcode

    1. let tapRec = UITapGestureRecognizer()

    In didMove():

    Quellcode

    1. tapRec.addTarget(self, action:#selector(GameScene.tappedView(_:) ))
    2. tapRec.numberOfTouchesRequired = 1
    3. tapRec.numberOfTapsRequired = 1
    4. self.view!.addGestureRecognizer(tapRec)
    Ich hoffe sehr, dass ihr mir helfen könnt, da ich schon seit Längerem wegen diesem Problem nicht weiter komme X/

    Daher schonmal Danke im Voraus :)