Binding for valgt fane
Følg med på og endre den aktive fanen i koden.
Binding for valgt fane er en gratis leksjon i SwiftUI Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i SwiftUI Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i SwiftUI Academy inneholder totalt 4 leksjoner.
Finn den aktive fanen
Noen ganger trenger koden å vite hvilken fane som vises, eller å endre den. Da kobler De utvalget til Deres egen tilstand. 🎯
Gi hver fane en tagg
Merk først hver fane med en unik taggverdi, slik at SwiftUI kan identifisere hvilken som er valgt.
HomeScreen()
.tabItem { Label("Home", systemImage: "house") }
.tag(0)Lagre utvalget
Legg til en @State-egenskap som inneholder taggen til den gjeldende fanen. Verdien forteller hvilken fane som er aktiv.
@State private var selectedTab = 0Koble utvalget til TabView
Send denne tilstanden til TabView-parameteren selection ved hjelp av et dollartegn for å opprette en toveis binding.
TabView(selection: $selectedTab) {
// tabs with .tag(...)
}Tagger må samsvare
Taggtypen og utvalgstypen må samsvare. Hvis taggene er Int, må selectedTab også være en Int.
Les hvilken fane som er åpen
Når bindingen er opprettet, oppdateres selectedTab hver gang brukeren trykker. De kan lese verdien hvor som helst for å reagere på den gjeldende fanen.
Bytt fane i kode
Endre verdien i tilstanden, så følger brukergrensesnittet etter. Når De setter selectedTab, hopper brukeren programmatisk til den aktuelle fanen.
selectedTab = 1En knapp for å hoppe til en fane
En knapp kan bytte fane ved å skrive til bindingen. Det er nyttig for en snarvei som "Go to Settings" et stykke inne i appen.
Button("Open Settings") {
selectedTab = 1
}Enums gjør tagger tryggere
Det er lett å forveksle vanlige tall. En enum med navngitte tilfeller gjør hver tagg lett å lese og mindre utsatt for feil.
enum Tab { case home, settings }Trykk på den valgte fanen på nytt
Når De trykker på den aktive fanen igjen, beholdes det samme utvalget. De kan følge med på dette for å rulle en liste tilbake til toppen.
Når De trenger bindingen
Hopp over bindingen hvis fanene er helt uavhengige. Legg den bare til når koden må lese eller sette den aktive fanen.
Rask kontroll
La oss sjekke hvordan SwiftUI holder oversikt over den aktive fanen.
Oppsummering: Binding til valgt fane
Merk hver fane med en tagg og koble en @State-verdi til selection. Da kan De både lese den aktive fanen og bytte fane fra kode. 🎉
Lær deg Swift med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Binding for valgt fane» gratis?
Ja – hele teksten i «Binding for valgt fane» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av SwiftUI Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i SwiftUI Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Binding for valgt fane»?
Følg med på og endre den aktive fanen i koden. Du øver på SwiftUI Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med SwiftUI Academy?
Ingen tidligere erfaring er nødvendig. SwiftUI Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Binding for valgt fane»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne SwiftUI Academy-leksjonen?
Ja. Alle SwiftUI Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Bygge en fanelinje
- Faneelementer og merker
- Binding for valgt fane
- Kombinere faner med stabler