Swiftui 快捷键隐藏显示箭头

Swiftui 快捷键隐藏显示箭头,swiftui,swiftui-navigationlink,Swiftui,Swiftui Navigationlink,我有这个看法 NavigationView { GeometryReader { geometry in List { ForEach(self.viewModel.items) { item in HStack(spacing: 0, content: {

我有这个看法

NavigationView {
                 GeometryReader { geometry in

                    List {
                        ForEach(self.viewModel.items) { item in
                            HStack(spacing: 0, content:  {
                                ZStack {
                                    RowItemView(data: item.FirstItem)
                                    NavigationLink(destination: CustomView(data: item.FirstItem))
                                    {
                                        EmptyView()
                                    }

                                }
                                .frame(width: geometry.size.width / 2, alignment: .center)

                                if (item.SecondItem != nil)  {
                                    ZStack {
                                            RowItemView(data: item.SecondItem!)
                                    NavigationLink(destination: CustomView(data: item.SecondItem!))
                                    {
                                        EmptyView()
                                    }
                                }
                            })
                        }.listRowInsets(EdgeInsets())
                    }
                }
我想隐藏NavigationView的圆盘箭头。 我尝试添加
.buttonStyle(PlainButtonStyle())
或在导航链接中添加一个负尾随,但它没有改变


我已经读过了,但它们在我的例子中不起作用,可能是因为我正在创建一个网格而不是一个简单的列表

在这种情况下,可能的方法是使用零帧,如下所示

NavigationLink(destination: CustomView(data: item.FirstItem)) {
    EmptyView()
}.frame(width: 0)

多亏了@Asperi,我才知道问题出在哪里

如果列表中的边设置为零,箭头仍会显示

所以我创建了这个技巧(在Xcode 13.3.1中工作)

为顶部和底部都输入一个值


我不知道这是否是摆脱恼人箭头的正确方法,但对于我的应用程序来说,它可以工作:-)

嗨,谢谢你的回复。它不起作用:-(箭头移到了视图的中心。@LucaFongaro,这很奇怪。是否存在特定于环境的问题?我用Xcode 11.2/iOS 13.2测试了它,它起作用了。嗨。我有Xcode 11.3.1。箭头仍然显示在预览和设备(iPhone 7/iOS 13.3.1)上。问题可能出在这行代码
。listRowInsets(EdgeInsets())
如果我删除它或将其传递给非零边,它就会工作(也不必将框架设置为0宽度),我希望苹果会创建一个简单的API来隐藏箭头:-/EDIT使用此
listRowInsets(EdgeInsets.init(顶部:8,前导:0,底部:8,尾随:0))
很管用。谢谢你的帮助。你给了我正确的方向
List {
    ForEach(self.viewModel.items) { item in
        //code for creating the row
    }.listRowInsets(EdgeInsets.init(top: 8, leading: 0, bottom: 8, trailing: 0))