Press "Enter" to skip to content

Neuerungen in SwiftUI – Teil 7

Materials

Mit Materials gibt es in SwiftUI neue Möglichkeiten, Hintergründe für Views zu erzeugen. Materials orientieren sich hierbei am Inhalt, der hinter einer View liegt, und lassen diesen Inhalt ein wenig hindurch scheinen. Wie stark der Hintergrund zu sehen ist, hängt vom verwendeten Material ab. Insgesamt stehen die folgenden Materials zur Verfügung (es handelt sich bei den genannten Elementen um Type Properties der neuen Structure Material):

  • ultraThinMaterial
  • thinMaterial
  • regularMaterial
  • thickMaterial
  • ultraThickMaterial

ultraThinMaterial lässt den Hintergrund einer View am stärksten durchscheinen, ultraThickMaterial am wenigsten.

Um ein solches Material auf eine View anzuwenden, übergibt man dem background(_:)-Modifier eine passende Instanz.

Ein Beispiel zeigt das folgende Listing. Es basiert auf einem ZStack, das Blau als Hintergrundfarbe verwendet. Darüber liegt ein VStack mit drei Labels, von denen jedes ein anderes Material als Hintergrund verwendet.

struct ContentView: View {
    var body: some View {
        ZStack {
            Color.blue
            VStack(spacing: 20) {
                Label("Ultra thin", systemImage: "book")
                    .padding()
                    .background(.ultraThinMaterial)
                Label("Regular", systemImage: "book")
                    .padding()
                    .background(.regularMaterial)
                Label("Ultra thick", systemImage: "book")
                    .padding()
                    .background(.ultraThickMaterial)
            }
            .font(.largeTitle)
        }
    }
}

Der folgende Screenshot zeigt diese View unter iOS. Es ist darin sehr schön zu erkennen, wie die verschiedenen Materials den Hintergrund unterschiedlich stark durchscheinen lassen.

Dank Materials lassen sich View-Hintergründe dynamisch anpassen.
Dank Materials lassen sich View-Hintergründe dynamisch anpassen.

Euer Thomas

2 Kommentare

  1. Karl-Peter Zons Karl-Peter Zons

    Vielen Dank, das ist ja zum einen etwas verblüffendes, aber auch eine gute Möglichkeit der Gestaltung. Jetzt werde ich das mal mit einem Image versuchen.

    Übrigens. Vielen Dank für die tollen Bücher, Aufsätze, Informationen die Sie immer wieder produzieren. Es ist einfach toll echt kompetente Infos auch mal in Deutsch zu lesen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Impressum

Thomas Sillmann
Kettererstraße 6
D-63739 Aschaffenburg
E-Mail: contact@thomassillmann.de
Mobil: +49 (0) 151 65125650
Web: https://www.thomassillmann.de/

Inhaltlich Verantwortlicher gemäß §55 Abs. 2 RStV: Thomas Sillmann (Anschrift siehe oben)

Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehme ich keine Haftung für die Inhalte externer Links. Für die Inhalte der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.

Kontakt und soziale Netzwerke

© 2019-2021 by Thomas Sillmann