是否可以将 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 放置在内容布局的下方,而不是其上方?或者选项是在内容 View 上设置底部填充(在这种情况下,需要检查 TabView 高度)。
contentView 布局如下所示:
VStack {
List() { ... }
HStack { Button() Spacer() Button() ... }
}
最佳答案
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 的子项。
关于SwiftUI TabView 覆盖内容 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72859998/