问题描述
如何在使用 ScrollView 时停止 SwiftUI 中状态栏下的视图?我已经尝试在状态栏下直接放置一个视图,但没有效果。
我没有在任何地方使用 .edgesIgnoringSafeArea。
我的代码:
ScrollView {
HStack {
Spacer()
Text("ScrollMe")
.padding()
}
}
截图:
解决方法
这是 ScrollView
从屏幕滚动到安全区域插图的预期行为。
如果您真的想避免这种行为,您需要一些其他非零高度的临时视图,该视图将位于安全区域下方。例如,修改您的代码:
struct ContentView: View {
var body: some View {
VStack {
Spacer().frame(height: 1)
ScrollView {
HStack {
Spacer()
Text("ScrollMe")
.padding()
}
}
}
}
}
,
您必须添加约束以分别为每个设备布局视图。你可以像这张图片那样做,然后它就会有你选择的视口的空间(f.e. 240):
yourView.heightAnchor.constraint(equalToConstant: 240)