NavigationView - mehrere Links zum Zurücknavigieren sichtbar für die jeweiligen Views

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • NavigationView - mehrere Links zum Zurücknavigieren sichtbar für die jeweiligen Views

    Wenn ich mittels NavigationView in einen Bereich navigiere, ist oben in der linken Ecke der "Back" - Links zu sehen, der auch konfiguriert werden kann - an sich eine schöne Sache. Wenn ich aber von dieser View wieder in eine weitere navigiere und von dieser wieder in eine weitere, sehe ich oben alle links - wobei mir jeweils der eine zum zuvorgehenden Bereich ausreichen würde. Hinzu kommt, dass beim Navigieren in mehrere "Unterbereiche" durch die zwei / drei Links oben die eigentliche Ansicht auf dem Display immer weiter unten anfängt - was nicht unbedingt schön ist. Gibt es dafür eigentlich eine Lösung oder muss man es akzeptieren?
  • Gut, was genau meinst du mit "Link"? Wie erstelle ich bitte einen "einfachen" Link?

    Im Apple-Tutorial habe ich lediglich die Navigation mit NavigationView kennengelernt, bei hackingwithswift fand ich noch die Möglichkeit Sheets zu nutzen (sehr ästhetisch). Doch einen einfachen Link zu einer anderen View zu erzeugen - wie eben im Webdesign - wäre oft das Einfachste und Praktischste. Wie kann ich das realisieren?

    Viele Grüße

    Arek
  • Schau Dir mal das folgende Coding an....

    import SwiftUI

    struct ContentView: View {
    @State var showSecond: Bool = false
    var body: some View {
    NavigationView {
    NavigationLink(destination: SecondView(showSecond: self.$showSecond)) {
    Text("Show Second").padding()
    }
    }
    }
    }

    struct SecondView: View {
    @Binding var showSecond: Bool
    @State var showThirt: Bool = false
    var body: some View {
    VStack {
    NavigationLink(destination: ContentView()) {
    Text("Show First").padding()
    }
    Spacer()
    NavigationLink(destination: ThirtView(showThirt: self.$showThirt)) {
    Text("Show Thirt").padding()
    }
    }
    }
    }

    struct ThirtView: View {
    @Binding var showThirt: Bool
    @State var showFort: Bool = false
    var body: some View {
    VStack {
    NavigationLink(destination: SecondView(showSecond: self.$showThirt)) {
    Text("Show Second").padding()
    }
    Spacer()
    NavigationLink(destination: FortView(showFort: self.$showFort)) {
    Text("Show Fort").padding()
    }
    }
    }
    }

    struct FortView: View {
    @Binding var showFort: Bool
    var body: some View {
    VStack {
    NavigationLink(destination: ThirtView(showThirt: self.$showFort)) {
    Text("Show Thirt").padding()
    }
    }
    }
    }

    struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
    ContentView()
    }
    }


    PS: @Moderartion: Weshalb kann man hier keine Code Tags einfügen?

    Schöne Grüsse
    Wolf