• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Tab-Reihenfolge im Interface-Builder

sailing-away

Weißer Winterglockenapfel
Registriert
27.09.07
Beiträge
879
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.
 

Poljpocket

Salvatico di Campascio
Registriert
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! :)
 

sailing-away

Weißer Winterglockenapfel
Registriert
27.09.07
Beiträge
879
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! :)


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?
 

sailing-away

Weißer Winterglockenapfel
Registriert
27.09.07
Beiträge
879
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.
 

Poljpocket

Salvatico di Campascio
Registriert
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.