中心滚动查看内容
Center Scroll View content
我使用 GeometryReader 将我的滚动视图居中,如下所示:
struct ContentView: View {
var body: some View {
NavigationView {
GeometryReader { geom in
ScrollView(.vertical, showsIndicators: false) {
ZStack {
my_super_view()
}
.navigationBarTitle("Main")
.frame(width: geom.size.width)
.frame(minHeight: geom.size.height)
}
}
}.navigationViewStyle(StackNavigationViewStyle())
}
}
而且效果几乎很好。我的问题是容器 ZStack 的高度太大,页面可以像这样向下滚动:
当我尝试做类似的事情时:
.frame(minHeight: geom.size.height-52)
页面停止滚动,但未居中。我怎样才能正确地将页面居中,使其完全适合主屏幕而无需在其下方滚动?
更新:
我发现我可以使用 position() 而不是 frame()。在那种情况下页面正确居中,但它可能会在未来引起一些问题。
struct ContentView: View {
var body: some View {
NavigationView {
GeometryReader { geom in
ScrollView(.vertical, showsIndicators: false) {
ZStack {
my_super_view()
}
.navigationBarTitle("Main")
.position(x: geom.size.width/2, y: geom.size.height/2)
}
}
.navigationBarTitle("Диа Компаньон")
.navigationBarTitleDisplayMode(.inline)
}.navigationViewStyle(StackNavigationViewStyle())
}
}
我不得不使用 .inline
NavigationBarDisplayMode 和 position
而不是设置 ZStack 的宽度和高度
我使用 GeometryReader 将我的滚动视图居中,如下所示:
struct ContentView: View {
var body: some View {
NavigationView {
GeometryReader { geom in
ScrollView(.vertical, showsIndicators: false) {
ZStack {
my_super_view()
}
.navigationBarTitle("Main")
.frame(width: geom.size.width)
.frame(minHeight: geom.size.height)
}
}
}.navigationViewStyle(StackNavigationViewStyle())
}
}
而且效果几乎很好。我的问题是容器 ZStack 的高度太大,页面可以像这样向下滚动:
.frame(minHeight: geom.size.height-52)
页面停止滚动,但未居中。我怎样才能正确地将页面居中,使其完全适合主屏幕而无需在其下方滚动?
更新: 我发现我可以使用 position() 而不是 frame()。在那种情况下页面正确居中,但它可能会在未来引起一些问题。
struct ContentView: View {
var body: some View {
NavigationView {
GeometryReader { geom in
ScrollView(.vertical, showsIndicators: false) {
ZStack {
my_super_view()
}
.navigationBarTitle("Main")
.position(x: geom.size.width/2, y: geom.size.height/2)
}
}
.navigationBarTitle("Диа Компаньон")
.navigationBarTitleDisplayMode(.inline)
}.navigationViewStyle(StackNavigationViewStyle())
}
}
我不得不使用 .inline
NavigationBarDisplayMode 和 position
而不是设置 ZStack 的宽度和高度