swiftui - 忽略安全区域未覆盖 View 底部

标签 swiftui

我正在尝试为弹出窗口的背景 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")
        }
    }
}

enter image description here

最佳答案

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/

相关文章:

swiftui - 为什么即使 View 中有空间,添加间隔符也会截断文本?

swift - 如何使 ObservableObject 符合 Codable 协议(protocol)?

swift - 我必须在 SwiftUI 中使用 ObservableObject 吗?

ios - 文本溢出到 SwiftUI 中带有覆盖的矩形边界之外

swift - 没有更多上下文 xcode 11,表达式类型不明确

swift - 将 MetalView 与 SwiftUI 一起使用?我如何在其中放置要展示的东西?

ios - 关闭自定义模式/覆盖不更新 SwiftUI 中的 View 内容

ios - 如何在 SwiftUI View 上使用 Combine

SwiftUI:如何使用@Binding 变量实现自定义初始化

objective-c - ObjectiveC 项目中的 SwiftUI - 列表在预览中工作,而不是在运行时工作