SwiftUI:NavigationLink 在最少 10 行示例中导致不必要的填充

use*_*301 4 padding swiftui swiftui-navigationlink

当将视图包装在 a 中NavigationLink以创建主从流时,NavigationLink似乎添加了我不想要的填充(红色)。

在此输入图像描述 在此输入图像描述

如果我注释掉NavigationLink,一切看起来都是正确的(右图)。然而,这当然使我的观点无法点击。

我该如何去除在手表上渲染此内容时出现的红色填充?

这是我运行的代码:

struct ContentView: View {
    
    let testArray = [1,2,3,4,5]
    
    var body: some View {
        
        ScrollView {
            VStack {
                ForEach(testArray, id: \.self) { element in
                    
                    NavigationLink(destination: Text("")) {
                        Text("BB . . . . . . . . . . . . . . . . . . . . . . .")
                            .font(.title3)
                            .foregroundColor(.white)
                            .background(Color.blue)
                    }.background(Color.red) //has all the unwanted padding
                    
                }
            }.background(Color.black)
        }.background(Color.gray)
    }
}
Run Code Online (Sandbox Code Playgroud)

我在如何在 SwiftUI 中将 NavigationLink 显示为按钮中找到了一些很好的提示,但是执行ZStack/.background技巧只会留下一个可点击的 ~30px 条带,在这种情况下它不会填充整个 ZStack。

我发现填充似乎是静态的 8px。所以我现在正在做的是.padding(.all, -8)希望有更好的解决方案

Ada*_*dam 7

应用于.buttonStyle(PlainButtonStyle())您的 NavigationLink 以删除填充和背景。显然,您\xe2\x80\x99还将丢失按钮\xe2\x80\x99的默认样式,因此如果您想要的话,您\xe2\x80\x99将必须重新创建它。

\n