Stacks Image 976
Aktuelle Beiträge

Kategorien

Tags
Archiv

Farbverläufe mit LinearGradient, RadialGradient und AngularGradient in SwiftUI

Farbverläufe mit LinearGradient, RadialGradient und AngularGradient in SwiftUI

Stacks Image 496

Im SwiftUI-Framework gibt es mehrere Funktionen, die Farbverläufe erzeugen können. Ein LinearGradient erzeugt einen zweidimensionalen Farbverlauf über eine Fläche, ein RadialGradient einen kreisförmigen Farbverlauf. Weniger oft zum Einsatz kommt der AngularGradient. Er erzeugt Farbverläufe in einem Winkel.

LazyVGrid und LazyHGrid in SwiftUI

LazyVGrid und LazyHGrid in SwiftUI

Stacks Image 507

Nach der Vorstellung des SwiftUI-Framework suchten Entwickler für einen Ersatz der beliebte und vielseitige UICollectionView. SwiftUI war zwar in der ersten Version vielseitig, einen leichten Weg Objekte in einem Gitter-Layout anzuordnen, gab es aber nicht. Möglich wurde dies erst mit der Einführung der beiden Grid-Steuerelemente LazyVGrid und LazyHGrid. Sie funktioniert zwar anders als eine UICollectionView, führen aber zu einem vergleichbaren Ergebnis. Grafische Objekten können in einem Gitter aus Zeilen und Spalten angeordnet werden.

Steuerelemente verbergen mit einer DisclosureGroup in SwiftUI

Steuerelemente verbergen mit einer DisclosureGroup in SwiftUI

Stacks Image 518

Ist auf einer View nur wenig Platz, oder sind Informationen oder Einstellungen für den Anwender nur von geringem Interesse, eignet sich eine DiscloserGroup um Inhalte zu verbergen und nur auf Wunsch anzuzeigen. Einfach ausgedrückt, ist eine DisclosureGroup ein Bereich der grafischen Oberfläche, der vom Anwender auf und zu geklappt werden kann.

SF Symbols - Symbole für Entwickler

SF Symbols - Symbole für Entwickler

Stacks Image 529

Gleiche Funktionen sollten gleich funktionieren und gleich aussehen. Diese alte Regel für Softwaredesign ist bis heute uneingeschränkt gültig und besonders wichtig ist sie in einer Zeit, in der sich macOS und iOS optisch annähern. Der Anspruch ist gerechtfertigt. Ein Anwender, der mit der Arbeit auf einem iPad vertraut ist, sollte auf einem Mac für die gleiche Funktion nicht eine komplett andere grafische Oberfläche vorfinden. Zuvor Gelerntes soll vertraut und leicht wiederzukennen sein.

Einstellungen speichern mit @AppStorage in SwiftUI

Einstellungen speichern mit @AppStorage in SwiftUI

Stacks Image 540

Die persönlichen Einstellungen und Präferenzen eines Nutzers zu speichern und zu laden ist seit OS X Version 10.0 eine Aufgabe, die von Programmierern gerne mit der Klasse NSUserDefaults umgesetzt wird. Seit der Version 2.0 steht die Klasse auch auf der iOS-Plattform zu Verfügung und somit ist es wenig überraschend, dass man bei der Entwicklung mit Swift nicht auf diesen bewährten Baustein verzichten wollte.

Hierarchische Listen mit der OutlineGroup in SwiftUI

Hierarchische Listen mit der OutlineGroup in SwiftUI

Stacks Image 551

Für macOS 11 und iOS 14 wurde das SwiftUI Framework um eine View erweitert, deren Einsatzbereich sehr speziell ist. Die OutlineGroup übernimmt die Aufgabe, eine Hierarchie von Elementen anzuzeigen, die als Eigenschaft über eine Liste von Kind-Elementen vom Typ wie das Element selbst verfügen. Zum Beispiel einen Ordner im Dateisystem, der Unterordner enthält oder eine Aufgabe, die aus mehreren Unteraufgaben besteht.

Views austauschen ohne Navigation in SwiftUI

Views austauschen ohne Navigation in SwiftUI

Stacks Image 562

Die Navigation von einer View zu einer anderen war lange Zeit die einzige leichte Möglichkeit, in einer App unterschiedliche grafische Oberflächen anzuzeigen. Einfacher wurde es für Entwickler erst mit der Einführung von SwiftUI. Dort ist es kein Problem mehr, die angezeigte grafische Oberfläche zu verändern oder auszutauschen, ohne die aktuelle View zu verlassen. Die Umsetzung ist so einfach, dass eine if-Anweisung oder eine switch-case ausreicht, um verschiedene Inhalte anzuzeigen.

Benutzerdefinierte Listen-Sektionen in SwiftUI

Benutzerdefinierte Listen-Sektionen in SwiftUI

Stacks Image 573

Wird in SwiftUI eine Tabelle benötigt, kann man diese problemlos mit einer List realisieren und mit einer ForEach-Schleife füllen. Wenn es ganz einfach sein soll, funktioniert es ohne Schleife und mit Objekten, die im Programmcode hinterlegt sind. Doch was ist zu tun, wenn der Inhalt einer List in Gruppen unterteilt werden soll? Dann kommen Section zum Einsatz. Dieser Artikel erklärt, wie sie funktionieren und wie man das Design einer solchen Unterteilung den eigenen Bedürfnissen kann.


© 2024 Holger Hinzberg Contact