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?
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 @[email protected] 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).
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