Dynamic Type och skalade teckensnitt
Stöd större text utan att layouten går sönder.
Dynamic Type och skalade teckensnitt är en gratis lektion i SwiftUI Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för SwiftUI Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i SwiftUI Academy innehåller totalt 4 lektioner.
Vad är Dynamic Type?
Dynamic Type låter användare välja önskad textstorlek för hela systemet. Din app bör respektera den och inte tvinga fram en fast storlek. 🔤
Använd textstilar
Välj semantiska textstilar som .title eller .body i stället för fasta punktstorlekar. De skalas automatiskt efter användarens inställning.
Text("Welcome")
.font(.title)
Text("Details here")
.font(.body)Varför inte fasta storlekar?
En hårdkodad .font(.system(size: 17)) ignorerar användarens val och förblir liten. Textstilar anpassar sig, men fasta tal gör det inte.
Text("Stuck small")
.font(.system(size: 17))Skala anpassade typsnitt
Har du ett typsnitt för varumärket? Använd .font(.custom:size:relativeTo:) så att det fortfarande skalas med en vald textstil.
Text("Brand")
.font(.custom("Avenir", size: 17, relativeTo: .body))Wrappern ScaledMetric
Behöver du att ett avstånd eller en bildstorlek växer med texten? @ScaledMetric skalar vilket tal som helst tillsammans med Dynamic Type.
@ScaledMetric var iconSize = 24
Image(systemName: "star").frame(width: iconSize)Låt texten radbrytas
Stor text behöver utrymme. Undvik lineLimit(1) på viktiga etiketter, annars kan långa ord klippas av med en ellips.
Text(longTitle)
.lineLimit(2)Tillåt tätare anpassning
När utrymmet verkligen är begränsat låter minimumScaleFactor texten krympa lite innan den förkortas, så att den förblir läsbar.
Text(price)
.minimumScaleFactor(0.7)Förhandsgranska stora storlekar
Använd dynamicTypeSize i en preview för att simulera den största inställningen och upptäcka trasiga layouter tidigt.
#Preview {
ContentView()
.dynamicTypeSize(.accessibility3)
}Begränsa intervallet vid behov
Du kan begränsa hur långt texten skalas med dynamicTypeSize(...), men begränsa sparsamt så att du inte stänger ute användare som behöver större text.
VStack { }
.dynamicTypeSize(...DynamicTypeSize.accessibility1)Stackar framför fasta ramar
Föredra flexibla stackar framför fasta höjder. En fast ram kan klippa stor text, medan en stack växer för att få plats med den.
Testa i båda ändarna
Kontrollera appen med både de minsta och de största Dynamic Type-storlekarna. Om texten är lättläst i båda fallen är den det troligen även för de flesta storlekar däremellan.
Snabbkontroll
Du vill att ett anpassat typsnitt för varumärket ska växa med användarens textstorlek. Vad använder du?
Sammanfattning
Du har gjort texten anpassningsbar: välj semantiska textstilar, skala anpassade typsnitt och mått, låt texten radbrytas och testa den största storleken. 👍
Lär dig Swift med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Dynamic Type och skalade teckensnitt” gratis?
Ja – hela texten till ”Dynamic Type och skalade teckensnitt” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i SwiftUI Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i SwiftUI Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Dynamic Type och skalade teckensnitt”?
Stöd större text utan att layouten går sönder. Ni övar på SwiftUI Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig SwiftUI Academy?
Du behöver inga förkunskaper. Utbildningen i SwiftUI Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Dynamic Type och skalade teckensnitt”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här SwiftUI Academy-lektionen?
Ja. Varje SwiftUI Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- VoiceOver och hjälpmedelsetiketter
- Dynamic Type och skalade teckensnitt
- Lokalisera strängar och String Catalogs
- Anpassa till ljust och mörkt läge