SwiftUI NavigationLink Скрыть стрелку

9

Есть ли способ скрыть стрелку справа от вида навигационной ссылки, которая добавляется автоматически?

Я хочу показать сетку изображений, используя NavigationView -> Список -> HStack -> NavigationLink_1 - NavigationLink_2

У NavigationLinks есть стрелки, и это выглядит странно введите описание изображения здесь

Black Ops
источник
тоже любопытно по этому поводу, вы нашли ответ?
crazyhor77
@ crazyhor77 Нет, я вернулся к раскадровке, UICollectionView, и после этого переключаюсь на клики в ячейках.
blackops
1
См .: stackoverflow.com/questions/56516333/…
Pascal Guizard

Ответы:

7

Как это работает для меня:

List { 
    ForEach(elements) { element in
        ZStack {
            CustomView(element: element)
            NavigationLink(destination: DestinationView()) {
                EmptyView()
            }.buttonStyle(PlainButtonStyle())
        }
    }
}
Владимир матусевич
источник
1
Это не похоже на работу с формами.
Всегда Uribe
3
@State var selection: Int? = nil

var body: some View {
    let navigation = NavigationLink(destination: Text("View"), tag: 1, selection: $selection) { EmptyView() }
    return 
        VStack { 
            navigation
            Text("Tap").onTapGesture { self.selection = 1 }
        }
}
Нарек Гукасян
источник
Это на самом деле не работает, так как при возврате невозможно выбрать один и тот же элемент.
Владимир Матусевич,
1
Я использовал навигационную ссылку таким образом, и все работало нормально.
Нарек Гукасян
Это не работает при использовании Form: `var body: some View {Form {NavigationLink (destination: Text (" View "), tag: 1, selection: $ selection) {EmptyView ()} Text (" Tap "). onTapGesture {self.selection = 1}}} `ПРИМЕЧАНИЕ: VStackв приведенном выше примере не требуется.
RndmTsk
1
Попробуйте следующим образом: VStack {navlink Form}
Нарек Гукасян
0

Вы также можете сделать, как: это сработало для меня,

@State var boolValue: Bool = false


                HStack {
                    Text("Your text")
                    Toggle(isOn: $boolValue){
                        Text("")
                    }
                    if boolValue {
                        NavigationLink(destination: DestinationView()) {
                            EmptyView()
                        }.frame(width: 0)
                    }
                }
Четан К.Г.
источник