SwiftUI NavigationLink Ukryj strzałkę


9

Czy istnieje sposób, aby ukryć strzałkę po prawej stronie widoku łącza nawigacyjnego, który jest dodawany automatycznie?

Chcę pokazać siatkę obrazu za pomocą NavigationView -> Lista -> HStack -> NavigationLink_1 - NavigationLink_2

Nawigacja LinkLink ma strzałki i wygląda dziwnie wprowadź opis zdjęcia tutaj


również ciekawy, czy znalazłeś odpowiedź?
crazyhor77

@ crazyhor77 nah, wróciłem do scenorysu, UICollectionView, i po tym powtarza kliknięcia komórek.
blackops

Odpowiedzi:


7

Sposób, w jaki to działało dla mnie:

List { 
    ForEach(elements) { element in
        ZStack {
            CustomView(element: element)
            NavigationLink(destination: DestinationView()) {
                EmptyView()
            }.buttonStyle(PlainButtonStyle())
        }
    }
}

1
To nie działa na formularze.
Ever 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 }
        }
}

To tak naprawdę nie działa, ponieważ po powrocie nie można wybrać tego samego elementu.
Vladimirs Matusevics

1
Użyłem nawigacji w ten sposób i wszystko działało dobrze.
Narek Ghukasyan

Nie działa to przy użyciu Form: `var body: some View {Form {NavigationLink (miejsce docelowe: Tekst („ Widok ”), tag: 1, wybór: $ selection) {EmptyView ()} Tekst („ Tap ”). onTapGesture {self.selection = 1}}} UWAGA: VStackpowyższy przykład nie jest potrzebny.
RndmTsk

1
Spróbuj w ten sposób: VStack {navlink Form}
Narek Ghukasyan

0

Możesz także zrobić coś takiego: działało to dla mnie,

@State var boolValue: Bool = false


                HStack {
                    Text("Your text")
                    Toggle(isOn: $boolValue){
                        Text("")
                    }
                    if boolValue {
                        NavigationLink(destination: DestinationView()) {
                            EmptyView()
                        }.frame(width: 0)
                    }
                }
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.