繁体   English   中英

SwiftUI TabView 覆盖内容视图

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM