Swiftui 隐藏披露箭头
Swiftui hide disclosure arrow
我有这个观点
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 添加负尾随,但它没有改变。
我已经读过 and this one 但它们对我不起作用,可能是因为我创建的是网格而不是普通列表。
在这种情况下,可能的做法是使用零帧,如下
NavigationLink(destination: CustomView(data: item.FirstItem)) {
EmptyView()
}.frame(width: 0)
感谢@Asperi,我弄清楚了问题所在。
listRowInsets 中的 EdgeInsets 为零时,箭头仍然显示。
所以我创造了这个技巧(适用于 Xcode 13.3.1)
List {
ForEach(self.viewModel.items) { item in
//code for creating the row
}.listRowInsets(EdgeInsets.init(top: 8, leading: 0, bottom: 8, trailing: 0))
为顶部和底部输入一个值。
我不知道这是否是摆脱那个恼人箭头的正确方法,但对于我的应用程序它有效:-)
我有这个观点
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 添加负尾随,但它没有改变。
我已经读过
在这种情况下,可能的做法是使用零帧,如下
NavigationLink(destination: CustomView(data: item.FirstItem)) {
EmptyView()
}.frame(width: 0)
感谢@Asperi,我弄清楚了问题所在。
listRowInsets 中的 EdgeInsets 为零时,箭头仍然显示。
所以我创造了这个技巧(适用于 Xcode 13.3.1)
List {
ForEach(self.viewModel.items) { item in
//code for creating the row
}.listRowInsets(EdgeInsets.init(top: 8, leading: 0, bottom: 8, trailing: 0))
为顶部和底部输入一个值。
我不知道这是否是摆脱那个恼人箭头的正确方法,但对于我的应用程序它有效:-)