UIButton mit Keyboard ähnlichem Verhalten

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

  • UIButton mit Keyboard ähnlichem Verhalten

    Hallo zusammen!

    Folgendes Problem:

    Auf einem View liegen viele UIButtons nah bei einander.
    Es soll dem Nutzer möglich sein, ähnlich dem iOS Keyboard, mit einem Touch über die verschiedenen Buttons zu fahren.
    Der jeweilige Button, auf dem der Touch liegt, soll dann 'aktiv' / highlighted werden. Bei Beendigung des Touches soll der jeweilige Button seine IBAction aufrufen.
    Es soll jedoch auch möglich sein von außerhalb mit einem Touch auf den Button zu fahren. Vorher beschriebenes Verhalten soll dabei gelten.

    Ich habe hierzu leider keine konkreten Informationen gefunden, lediglich Bruchstücke (touchesBegan, touchesMoved)
    Weiß jemand in diesem Forum einen Ansatz?

    Vielen Dank.
  • Ich glaube, dass du dafür touchesBegan etc. gar nicht brauchst, sondern einfach den entsprechenden Type im Storyboard auswählen musst, bei dem der Action ausgelöst wird. Wenn du ein Action von einem Objekt auf einen Button ziehst, kommt schließlich das kleine Fenster, in dem du zwischen "Touch Down Inside", "Touch Up Inside" etc. wählen kannst, oder? Programmatisch geht das sicherlich auch.
    Hast du das gemeint?
  • Danke für alle eure Antworten.

    Allerdings ist mir bereits bewusst, wie ich Buttons programmatisch erstelle und die einzelnen ControlEvents auch.
    Mein Problem ist, dass ich keine Möglichkeit finde folgendes Problem umzusetzen:

    Der Nutzer berührt Button A und fährt mit dem Finger über Button B und C. Bei dieser Bewegung soll der jeweilige Button (B/C) 'aktiviert'/highlighted werden und der vorherige Button in den normal Zustand zurück fallen. Auf Button C beendet der Nutzer jetzt seinen Touch. Folglich soll das ControlEvent für Button C ausgelöst werden.
    Das Verhalten soll so ablaufen, wie es auch bei der iOS Tastatur aufzufinden ist.
    Die ControlEvents greifen nur, wenn der Touch auch auf dem Button begonnen hat. Folglich ist diese 'Slide' Bewegung hiermit nicht realisierbar.
    Auch liegen die Buttons wie oben bereits erwähnt ziemlich nah beieinander. Der 'Button Bereich' ist jedoch ziemlich groß (Bereich in dem ein Touch auf einen Button dem Button zugeordnet wird).

    Ich hoffen mein Problem ist jetzt klarer geworden.
    Trotzdem nochmal vielen Dank.