我正在尝试为弹出窗口的背景 View 创建背景,但是即使在我使用 .ignoreSafeArea()
后,该 View 也不会覆盖底部。
import SwiftUI
struct Overlay<Content: View>: View {
@State var opacity: Double = 0
var content: Content
var body: some View {
VStack {
Color.black.opacity(opacity).ignoresSafeArea()
content
}
.onAppear { self.opacity = 0.5 }
.onDisappear { self.opacity = 0 }
}
}
struct ForgotPasswordView_Previews: PreviewProvider {
static var previews: some View {
Group {
Overlay(content: Text(""))
.previewDevice("iPhone 12")
}
}
}
最佳答案
VStack
将其子级排列在垂直线上。
您在底部区域看到的是您在 View 创建中传递的内容(这里是您的 TextView)。
struct Overlay<Content: View>: View {
@State var opacity: Double = 0
var content: Content
var body: some View {
ZStack { //<- here
Color.black.opacity(opacity).ignoresSafeArea()
content
}
.onAppear { self.opacity = 0.5 }
.onDisappear { self.opacity = 0 }
}
}
关于swiftui - 忽略安全区域未覆盖 View 底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67326956/