Я хочу создать тусклый фон, похожий на следующий рисунок, но с легким зеленым оттенком.
Это мой код:
import SwiftUI
struct DimBackgroundView: View {
var body: some View {
VStack {
Spacer()
VStack {
Text("Dim background")
}
.frame(height: 350)
.frame(maxWidth: .infinity)
.background(.green) // <- Not work
.background(.ultraThinMaterial)
.cornerRadius(30)
}
.ignoresSafeArea()
// .background(.green) // <- Not work
}
}
struct DimBackgroundVie_Previews: PreviewProvider {
static var previews: some View {
DimBackgroundView()
}
}
Результат:
введите здесь описание изображения
Мои ожидания:
введите здесь описание изображения
Раньше я пытался добавить зеленый фон, но это не сработало. У кого-нибудь есть решение для этого?
все тот же :( @jnpdx
Вы можете заархивировать это, используя функцию ZStack или Overlay, чтобы сделать фоновое изображение или цвет размытым или выглядеть как ThinMaterial.
Ниже я дам ответы на ваш вопрос:
struct DimBackgroundView: View {
var body: some View {
VStack {
Spacer()
ZStack {
// Color.green
Image("kenny-s-7qRM11Kmnh4-unsplash")
Text("Click me")
.frame(width: UIScreen.main.bounds.width, height: 350, alignment: .center)
.background(.ultraThinMaterial)
}
.frame(height: 350)
.cornerRadius(30)
}
.ignoresSafeArea()
}
}
Здесь я использую ZStack, чтобы фон выглядел как ThinMaterial или размыт.
Выход :
https://www.linkpicture.com/q/Screenshot-2023-04-01-at-12.20.49-PM.png
.overlay(Color.green.opacity(0.5))
?