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))