SWIFTUI:在TabBar顶部取出一个灰色矩形

SWIFTUI: Take out a gray rectangle on top of the TabBar

我的列表视图有相关问题。问题很简单:如何摆脱显示在 TabBar 顶部的那个奇怪的灰色矩形?我没有编写代码,我只是实现了一个带有 List 和 NavigationBar 的控制器,然后它显示了那个东西。

为了更清楚的解释我post图片:

ItemRow.swift代码:

    import SwiftUI

    struct ItemRow: View {
        static let colors: [String: Color] = ["D": .purple, "G": .orange, "N": .red, "S": .yellow, "V": .pink]
        var item: MenuItem

        var body: some View {
            NavigationLink(destination: Text(item.name)) {
                HStack {
                    Image(item.thumbnailImage)
                        .clipShape(Circle())
                        .overlay(Circle().stroke(Color("IkeaBlu"), lineWidth: 2))
                    VStack(alignment: .leading){
                        Text(item.name)
                            .font(.headline)
                        Text("€ \(item.price)")
                    }.layoutPriority(1)

                    Spacer()

                    ForEach(item.restrictions, id: \.self) { restriction in
                        Text(restriction)
                            .font(.caption)
                            .fontWeight(.black)
                            .padding(5)
                            .background(Self.colors[restriction, default: .black])
                            .clipShape(Circle())
                            .foregroundColor(.white)
                    }
                }
            }
        }
    }

    struct ItemRow_Previews: PreviewProvider {
        static var previews: some View {
            ItemRow(item: MenuItem.example)
        }

}

非常感谢您的帮助

TabBar 视图中删除标记的 hack 部分,故障就会消失。

测试 Xcode 11.4 / iOS 13.4

        }   .onAppear {
//            UITabBar.appearance().isTranslucent = false     // << this one !!
            UITabBar.appearance().barTintColor = UIColor(named: "IkeaBlu")
        }.accentColor(Color(.white))