iOS: UIButton auslösen bei "berühren" nicht TouchUpInside

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

Macoun 2019 - Frühbucherrabatt bis 26.7.2019

  • iOS: UIButton auslösen bei "berühren" nicht TouchUpInside

    Hallo,

    ich habe bisher meine UIButtons mit dem "TouchUpInside" im InterfaceBuilder verbunden. Tippt der Benutzer den Button an, wird ein Zähler um eins erhöht.

    Da Apple jetzt den BlackBerry 10 - Weg geht mit "Wischen" & co.; muss ich auch ein "über den Button wischen" einbauen.


    D.h. berührt man den Button beim darüber Wischen, soll er eins hochzählen.
    Ich habe die versch. Events ausprobiert wie, Touch Up Outside, Touch Drag Enter, Touch Drag Exit, Touch Down - ich finde einfach nicht das passende Event, um nur beim drüber wischen den Button auszulösen.


    Gibt es da einen Trick?
    (Das normale drücken mit dem Touch Up Inside klappt natürlich.)
  • Mac & i Test Abo
  • Wenn der Touch "ausserhalb" des Buttons beginnt, dann gibt es keine direkte Möglichkeit über eines der Touch Events zu diesem Button. Die Touch Events zu einem Button funktionieren nur, wenn diese "innerhalb" des Buttons gestartet werden.

    Alternativ könntest Du Dir einen Custom View bauen, welchen Du als Superview für den Button verwendest. Dann kannst Du per touchesBeganWithEvent: und touchesMovedWithEvent: prüfen, ob der Touch über den Button geht.

    Evtl. ist dies auch mit einem der UIGestureRecognizer möglich.