[英]SwiftUI TabView covers content view
是否可以将 TabView tabItem 定位在屏幕内容下方?
我的布局是:
var body: some View {
TabView {
self.contentView
.tabItem {
Image(systemName: "chart.bar.fill")
Text("Chart")
}
Text("Screen 2")
.tabItem {
Image(systemName: "person.3.fill")
Text("Leaderboard")
}
Text("Screen 3")
.tabItem {
Image(systemName: "ellipsis")
Text("More")
}
}
}
是否可以将 TabView 定位在内容布局下方,而不是在其上方? 或者选择在内容视图上设置底部填充(在这种情况下,需要检查 TabView 高度)。
contentView 布局如下所示:
VStack {
List() { ... }
HStack { Button() Spacer() Button() ... }
}
只需添加到您的内容视图:
.padding(.bottom, tabBarHeight)
contentView 包含一个列表,它填充所有可用空间,移动位于 TabView 下列表下方的按钮。 在 contentView 之后添加 Space 可以解决问题。
var body: some View {
TabView {
VStack {
self.contentView
Spacer()
}
.tabItem {
Image(systemName: "chart.bar.fill")
Text("Chart")
}
Text("Screen 2")
.tabItem {
Image(systemName: "person.3.fill")
Text("Leaderboard")
}
Text("Screen 3")
.tabItem {
Image(systemName: "ellipsis")
Text("More")
}
}
}
感谢@Asperi 指出正确的方向,并检查 contentView 的子项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.