Programmieren mit Swift - Für macOS und iOS
Programmieren mit Swift - Für macOS und iOS
Werkzeugleiste (Toolbar)

Wenn Sie schon mit OS X Programmen wie Mail oder Pages gearbeitet haben, sind Ihnen Werkzeugleisten nicht unbekannt. Es ist die Leiste am oberen Fensterrand, oft mit Symbolen zu bestimmten Befehlen. Sehr oft können Sie diese Leiste auch nach eigenen Wünschen anpassen. Um das Programm der Sprachausgabe noch weiter zu verbessern, werden Sie im folgenden Kapitel erfahren, wie Sie auch Ihre Anwendung mit einer Werkzeugleiste ausstatten können.

Öffnen Sie, falls noch nicht geschehen, den Interface Builder für das Projekt und ziehen Sie anschließend ein NSToolbar Objekt aus der Steuerelement-Bibliothek auf das Programmfenster. Die Werkzeugleiste wird sich automatisch am oberen Fensterrand andocken. Zu Anfang ist die Toolbar schon mit einigen standardisierten Objekten wie Schriften und Farben gefüllt, aber das können Sie für den Augenblick ignorieren.
stacks_image_0044A05C-43F2-4813-8174-3889EEE56EC1
Doppelklicken Sie auf die NSToolbar im Programmfenster und es wird sich ein weiteres Fenster öffnen. Dieses Fenster, das auch Palette genannt wird, enthält alle verfügbaren Toolbar Objekte für dieses Programm. Wenn Sie im laufenden Programm die Toolbar anpassen wollen, sehen Sie ebenfalls die Palette.
stacks_image_AFBF5D4B-6666-4B18-BDDC-25F889B50883
Ziehen Sie anschließend zwei Button in die Palette.
stacks_image_ECAD8B3B-0C8C-4AE2-9020-BD9CE3696596
Doppelklicken Sie anschliessend auf einen der Button, um dessen Eigenschaften im Inspector anzuzeigen und zu verändern. Haben Sie im Interface Builder kein Inspectorfenster geöffnet, können Sie dieses im Menu unter Tools aktivieren.
stacks_image_EF4783B9-2913-46DB-80DB-D27FEDBFC18F
Interessant wird es, wenn Sie nur ein Mal auf einen Button klicken. Jetzt verändern Sie nicht mehr den Button an sich, sondern das Toolbar Item, dem er entspricht. An der Titelleiste des Inspector können Sie sehr schnell erkennen, welchen Typ Sie gerade ausgewählt haben. Wie Sie ebenfalls sehen, hat dieser Button zwei Eigenschaften mit dem Namen Label. Das eigentliche Label ist die Objektunterschrift, wenn sich der Button in der Werkzeugleiste befindet, während Pal.Label die Unterschrift für den Button in der Palette ist. Das kann eine Kurzbeschreibung der Funktion des Button sein.
stacks_image_190B78D7-67F9-429C-89D0-760F0297EF58
Verändern Sie die beiden Button so, dass sie die Texte Sprechen und Schweigen anzeigen. Ebenfalls sollten sie die Bezeichnungen des Toolbar Item anpassen. Für dieses Projekt reichen Unterschriften wie „Sprachausgabe starten“ und „Sprachausgabe beenden“.
stacks_image_01C5BF8F-62DB-4DC3-AB2C-1C15DB9CC5FB
Ist auch dies erledigt, ziehen Sie die beiden Button aus der Palette auf die Werkzeigleiste. Nur dann sind diese beiden Steuerelemente auch nach Programmstart schon in der Werkzeugleiste verfügbar. Die anderen Symbole wie Colors, Print und Font sollten Sie aus der Werkzeugleiste hinausziehen, da sie nicht benötigt werden. Sie können sie auch aus der Palette herausziehen und somit vollständig aus der Anwendung entfernen. Da die zwei Button sehr viel Platz in Anspruch nehmen, ist es nötig, das Programmfenster in der Breite etwas zu vergrößern.
stacks_image_9A03AAA9-2230-4AE2-81AC-C4CD2E4C4364
Wie unschwer zu erkennen ist, gibt es die beiden Button jetzt doppelt. Ein Mal als Schaltflächen im Programmfenster und dann noch als Button in der Werkzeugleiste. Beide Paare erfüllen offensichtlich die gleiche Funktion. Da ein Paar überflüssig ist, sollten Sie die Button aus dem Programmfenster entfernen. Das können Sie durch Markieren und Drücken der Entf.-Taste erreichen. Das gleiche Resultat bringt ein Herausziehen der Button aus dem Programmfenster.

Wurden die beiden Schaltflächen entfernt, sind auch die zugehörigen Action und Outlet wieder ohne Verbindungen. Diese müssen mit den Button in der Toolbar neu verbunden werden, um die alte Funktionalität wieder herzustellen.

Verbindungen von Action und Outlet aus dem Programmcode zu den Steuerelementen werden weiterhin genau so erzeugt, wie Sie es gewohnt sind. Allerdings können Sie nur Verbindungen zu Objekten in der Palette ziehen, nicht zu Objekten, die schon aktiv in der Toolbar sind. Ziehen Sie einfach eine Verbindung auf die Toolbar. Wenn Sie dort mit gedrückter Maustaste warten, wird sich die Palette automatisch öffnen. Da die Outlet vom Typ NSButton sind, können sie auch nur mit Steuerelementen dieses Typs verbunden werden. Anders sieht es bei den Action aus. Diese können sowohl mit dem Button, als auch mit dem umgebenen Toolbar Item verbunden werden. Machen Sie aber alle Verbindungen zu den Button und testen Sie anschliessend die Anwendung. Es sollte wieder alles so funktionieren wie zuvor.
stacks_image_ACE6746E-F753-4ADF-A423-5CFC0F1AFBED
Nicht alle, aber viele Steuerelemente können in der Werkzeugleiste verwendet werden. Es ist zwar recht ungewöhnlich Button zu verwenden, aber während der Entwicklung keine schlechte Idee, um Funktionen zu testen. Wie Sie stattdessen Symbole in der Werkzeugleiste verwenden, erfahren Sie in einem der folgenden Abschnitte.

nächste Seite