Programmieren mit Swift - Für macOS und iOS
Programmieren mit Swift - Für macOS und iOS
Tab-Reihenfolge

Obwohl Ihre Anwendung inzwischen richtig rechnet und damit ihre Aufgabe erfüllt, können Sie es dennoch um einige Feinheiten verbessern.

Da ist zum ersten die Ausrichtung der Inhalte der Textfelder. Zahlen werden üblicherweise rechtsbündig dargestellt, eine Änderung der Eigenschaft Alignment, die Sie mit dem Inspector vornehmen können.
stacks_image_3740A964-9510-4CDD-BD7A-C7F94E5C2E0F
In den meisten Programmen können Sie mit der Tab-Taste durch die verschiedenen Eingabefelder blättern. Das ist auch in Ihrer Anwendung so, allerdings bestimmt Xcode die Tab-Reihenfolge automatisch, sofern Sie diese nicht festlegen.
Für dieses Programm soll es nicht möglich sein, mit der Tab-Taste die Felder der Ergebnisse zu erreichen. Der Eingabefocus soll lediglich zwischen den Eingabefeldern hin und her springen.
Klicken Sie in das NSTextField für die Eingabe Grad im Programmfenster und ziehen sie mit der Maus bei gedrückter ctl-Taste eine Linie in das Feld, das in der Tab-Reihenfolge folgen soll. In diesem Fall das Feld für die Eingabe der Minuten.
Sobald Sie die Maus loslassen, erscheint ein kleines Fenster, in dem sie diese Verbindung bestätigen müssen. Wählen Sie dort nun auf nextKeyView. Das zweite NSTextField wird kurz blinken und Ihnen so den Erfolg dieser Verbindung signalisieren.
stacks_image_F3BEAB89-A571-4570-B1BF-CC774A9F9FB4
Verbinden Sie auf die gleiche Art nun das zweite Eingabefeld mit dem dritten und so weiter. Vergessen Sie auch nicht, das letzte Feld wieder mit dem ersten zu verbinden. Falls Sie Ihre Anwendung anschließend testen, werden Sie feststellen, dass diese Tab-Reihenfolge noch nicht funktioniert, es fehlt noch etwas.

Immer wenn Sie Ihr Programm starten, ist eines der NSTextField selektiert, um Ihre Eingaben entgegenzunehmen. Welches Feld das ist, entscheidet Xcode für Sie, aber Sie können auch explizit ein Feld festlegen, bei dem die Eingabe starten soll. Das zuerst selektierte Objekt wird im Interface Builder auch initialFirstResponder genannt. Es zu ändern ist nicht sehr schwer.

Klicken Sie mit der sekundären Maustaste auf das Window Symbol im Hauptfenster des Interface Builder. Wieder wird sich ein schwarzes Verbindungsfenster öffnen. Ziehen Sie eine Verbindung von initialFirstResponder zu dem Objekt, mit dem das Programmfenster starten soll. In diesem Fall natürlich das erste NSTextField.
stacks_image_223B665A-AC0D-4E97-9F39-7D01FDACF1E5
Lassen Sie die Maustaste los und die Verbindung wird kurz aufblinken. Damit ist Ihr Arbeit beendet und die Tabulatorreihenfolge wurde erfolgreich geändert. Das Wichtigste wie immer: Testen !

nächste Seite