تم دهی (Theming)
تم دهی (Theming) یعنی یک سبک واحد برای کل برنامه. بنابراین همه چیز هماهنگ می ماند. همچنین تغییرات سریع تر انجام می شود. در SwiftUI یک نوع «Theme» می سازیم و همه جا استفاده می کنیم.
چرا تم دهی مهم است؟
«تم (Theme)» مجموعه رنگ و فاصله استاندارد است. بنابراین دکمه ها و کارت ها ظاهر یکسان دارند. سپس نگهداری ساده تر می شود. در نهایت تغییر سراسری تنها در یک نقطه رخ می دهد.
ساخت تم مرکزی در SwiftUI
در منبع، یک نوع Theme تعریف شده است. سپس view ها از آن استفاده می کنند. کد زیر همان الگو را نشان می دهد.
Theme و یک کارت نمونه
import SwiftUI
struct Theme {
static let primary = Color.blue
static let cardBG = Color.blue.opacity(0.1)
}
struct ThemedCard: View {
var body: some View {
Text("Hello")
.padding()
.background(Theme.cardBG)
.cornerRadius(8)
.foregroundStyle(Theme.primary)
}
}
import SwiftUI
struct ContentView: View {
var body: some View {
ThemedCard()
}
}
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
گام های عملی ساخت تم
- یک struct به نام Theme بساز.
- رنگ ها و فاصله ها را داخلش نگه دار.
- در view ها از Theme استفاده کن.
نکته: برای هماهنگی بهتر، در طرح های رنگی حالت تیره و روشن را تست کن.
هشدار: از رنگ های سراسری پراکنده استفاده نکن. بنابراین تغییرات سخت می شود.
پیوند با استایل و متریال
با تم دهی SwiftUI بهتر کنار می آید. در استایل دهی و تم دهی اصول کلی را ببین. سپس با متریال ها عمق و خوانایی بساز. همچنین یک لینک مرجع با کلمه تم دهی SwiftUI اضافه کردیم.
جمع بندی سریع
- تم، سبک واحد برنامه است.
- Theme را یک جا تعریف کن.
- همه view ها از Theme بخوانند.
- در روشن و تیره بررسی کن.