1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Tab-Reihenfolge im Interface-Builder

Dieses Thema im Forum "OS X-Developer" wurde erstellt von sailing-away, 13.01.10.

  1. sailing-away

    sailing-away Weißer Winterglockenapfel

    Dabei seit:
    27.09.07
    Beiträge:
    876
    Hallo!

    Ich habe im Interface-Builder eine Erfassungsmaske erstellt, die einige Textfelder enthält, in denen man im fertigen Programm Daten erfassen soll. Um die Textfelder optimal nacheinander ausfüllen zu können, soll man mit der Tab-Taste von Feld zu Feld springen können. Durch Umsortieren der Felder beim Layouten, werden die Felder in der fertigen App aber nicht in der richtigen Reihenfolge angesprungen, sondern kreuz und quer.

    Frage: wie kann man nachträglich die Reihenfolge ändern, mit der die Textfelder durch das Drücken der Tab-Taste angesprungen werden? Das muss doch irgendwo im Interface-Builder gehen. Aus einer anderen Programmierumgebung kenne ich das sogar mit grafischen Linien, die man von Feld zu Feld zieht, um dessen Reihenfolge festzulegen bzw. zu optimieren.
     
  2. Poljpocket

    Poljpocket Salvatico di Campascio

    Dabei seit:
    07.01.07
    Beiträge:
    432
    Die Methode

    '- setNextKeyView:' (NSView)

    und das Outlet

    'nextKeyView' (NSView)

    sollte dich hier interessieren. Du verbindest mit dem Outlet bei jedem Textfeld das folgend auszuwählende Textfeld. feddich...

    Gruss ppocket

    PS: Die Idee mit den Linien trifft beim Verbinden von Outlets doch recht gut zu! :)
     
  3. sailing-away

    sailing-away Weißer Winterglockenapfel

    Dabei seit:
    27.09.07
    Beiträge:
    876

    Danke, ich habe es gefunden und ausprobiert, aber es funktioniert bei mir nicht. Die Reihenfolge der Tabsprünge ist immer noch falsch.

    Ich habe im InterfaceBuilder das erste Textfeld markiert und im Connections-Inspector unter Outlets eine Verbindung zum nächsten Textfeld hergestellt und natürlich das ganze gespeichert. Ist diese Vorgehensweise richtig gewesen? Es hat bei mir jedenfalls keinen Effekt.

    Any Ideas??

    PS: die Methode '- setNextKeyView:' ist alternativ zu den Outlet-Einstellungen zu sehen, wenn man die Reihenfolge programmtechnisch verändern möchte? Oder muss man beides machen?
     
  4. sailing-away

    sailing-away Weißer Winterglockenapfel

    Dabei seit:
    27.09.07
    Beiträge:
    876
    Ok, jetzt habe ich die Antwort selbst gefunden:

    Damit die Verbindungen von setNextView funktionieren, muss man als erstes im Outlet von Window den initialFirstResponder auf das erste Feld setzen und am Ende den Kreis schließen.
     
  5. Poljpocket

    Poljpocket Salvatico di Campascio

    Dabei seit:
    07.01.07
    Beiträge:
    432
    Ja, genau richtig, das muss man zusätzlich noch machen! Irgendwo - ich könnte wetten - hatte ich geschrieben, du sollst die Doku anschauen... aber der Satz scheint durch einen Edit von mir verschwunden zu sein. Aber jetzt hast du es ja geschafft :)

    Gruss ppocket

    PS auf dein PS: ja, richtig! und nein, die eine Vorgehensweise reicht.
     

Diese Seite empfehlen