查看 SwiftUI 中的状态栏

View going under Status Bar in SwiftUI

在使用 ScrollView 时,如何阻止 SwiftUI 中的视图进入状态栏下方?我已经尝试在状态栏正下方放置一个视图,但是没有效果。

我没有在任何地方使用 .edgesIgnoringSafeArea。

我的代码:

ScrollView {
    HStack {
        Spacer()
        Text("ScrollMe")
            .padding()
    }
}

截图:

您必须分别为每个设备添加约束来布局视图。你可以像这个图像那样做,然后它将 space(f.e.240) 到你选择的视口:

yourView.heightAnchor.constraint(equalToConstant: 240)

这是 ScrollView 滚动屏幕进入安全区域插图的预期行为。

如果您真的想避免这种行为,您需要一些其他高度非零的临时视图,该视图将位于安全区域下方。比如修改你的代码:

struct ContentView: View {
    var body: some View {
        VStack {
            Spacer().frame(height: 1)
            ScrollView {
                HStack {
                    Spacer()
                    Text("ScrollMe")
                        .padding()
                }
            }
        }
    }
}