When I navigate backward (like swiping the view from the left), I want to be able to drag it back from the right to move to that previous view. Sort of like an undo stack.
I asked this question on StackOverflow and the solution there works, but doesn’t feel “native”: I want the full dragging-of-the-view effect just like in the native navigation.
Is it possible to use NavigationStack or other existing views to solve that?

  • lazyvar@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    Nothing better than what was discussed on SO comes to mind, at least nothing that would give you that native smooth feel.

    It will definitely require a decent amount of custom work.

    Closest example I can think of was Apollo, I believe @christianselig@mastodon.social was contemplating writing up a blogpost on how he did it, but I’m unsure if he got around to doing it yet (and it’ll likely be in UIKit).

  • pexavc@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    Funnily enough. I actually just did this. But I’m essentially holding a stack of view builders that represents the navigation stack view. Popping the view after applying a custom drag gesture view modifier to replicate the animation you’re requesting.

    There are some interesting repos that involve custom solutions around this problem.

    https://github.com/matteopuc/swiftui-navigation-stack

    For starters.

    But, essentially I just opted out of using the built in navigations. Unless it’s SplitView for macOS