Expandierende Karte mit Federanimation
Beschreibung
DiesesDiese BeispielView zeigt,zeigt wieeine duKarte, die zwischen kompakter und erweiterter Höhe umschaltet. Der Übergang wird mit SwiftUIeiner eine sogenannte „Expanding Card“ implementieren kannst. Die Karte kann durch einen Button vergrößert oder verkleinert werden, wobei eine federndefedernden Animation fürdargestellt, einwodurch flüssigesder NutzererlebnisZustandswechsel sorgt. Diese Technik ist ideal für Benutzeroberflächen, bei denen Informationen in kompakten Karten präsentiertklar und beivisuell Bedarfansprechend erweitert werden sollen.wirkt.
🔍 Zweck
Der
- Inhalt
diesesein-Beispielsundistausklappbares,darstellen,zuz.demonstrieren,B.wieVorschauduvs. Details - Akkordeonartige UI Muster prototypisieren
- Interaktive Cards in
SwiftUIDashboardseinenoderinteraktivenFeeds - Animationsverhalten
erstellst,mitdessenspring
evaluieren - Nutzerfokus durch dynamische Größ
eenänderungsichlenken
🖥️ lässt.Betriebssystem
iOS
📄 Codebeispiel
import SwiftUI
@main
struct ExpandingCardApp: App {
var body: some Scene {
WindowGroup {
ExpandingCardExample()
}
}
}
public struct ExpandingCardExample: View {
// Track whether the card is expanded or collapsed
@State private var isExpanded = false
public init() {}
public var body: some View {
VStackVStack(spacing: 16) {
// The animated card: height changes based on state
RoundedRectangle(cornerRadius: 12)
.fill(Color.blue)
.frame(height: isExpanded ? 200 : 80)
// Use spring animation for a natural feel
.animation(.spring(), value: isExpanded)
// Toggle button to switch states
Button(isExpanded ? "Toggle"Collapse" : "Expand") {
isExpanded.toggle()
}
.buttonStyle(.borderedProminent)
}
.padding()
// Give the view a background to better showcase the card
.background(Color(.systemBackground))
}
}
// Modern Swift 5.10+ preview syntax
#Preview {
ExpandingCardExample()
}