SwiftUI TabView 覆盖内容 View

标签 swift swiftui tabview tabitem

是否可以将 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")
                }
            }
        }

实际结果如下: enter image description here

是否可以将 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/

相关文章:

ios - 记录裁剪视频方形长宽比 AVCaptureSession

ios - SwiftUI - 更改 @Published 结构时是否可以触发 didSet?

swift - 如何使用 UIViewControllerRepresentable 在 SwiftUI 中呈现 UICollectionView

ios - 在SwiftUI中使用.smallCaps()

ios - 在 WKWebView 中更改完成按钮的颜色

swift - 我如何使用 RxSwift 让我的程序快速响应

ios - 当 Tableview 中嵌入了多个 Collection View 时,如何进行 Segue?

android - Android 上的选项卡 View 中不显示任何内容

swift - 如何在 SwiftUI TabView 中设置默认选项卡?

ios - 如何快速将多个 View 连接到单个选项卡栏项目?