Создайте пользовательский ViewModifier
, добавьте свой цвет и добавьте его в свои представления.Например, если вы хотите, чтобы все ваши представления были оранжевыми, сделайте следующее:
struct BackgroundColorStyle: ViewModifier {
func body(content: Content) -> some View {
return content
.background(Color.orange)
}
}
И использование:
Text("Hello world!").modifier(BackgroundColorStyle())
Теперь вы можете - и, вероятно, должны - расширить этодля светлого / темного режима.В этом случае вы можете использовать переменную окружения ColorSchmem
:
struct BackgroundColorStyle: ViewModifier {
@Environment (\.colorScheme) var colorScheme:ColorScheme
func body(content: Content) -> some View {
if colorScheme == .light {
return content
.background(Color.darkGrey)
} else {
return content
.background(Color.white)
}
}
}
В любом случае, каждый View
, использующий этот модификатор, имеет свой цвет фона, определенный в одном месте.Если вы хотите определить границу вместе с цветом фона, то же самое.