this post was submitted on 15 Jul 2023
3 points (100.0% liked)

SwiftUI

110 readers
2 users here now

SwiftUI helps you build great-looking apps across all Apple platforms with the power of Swift — and surprisingly little code.

This is a community for people that use SwiftUI, want to learn SwiftUI or want to show off their creations with SwiftUI.

Want to learn SwiftUI?

Try out Paul Hudson's free 100 Days of SwiftUI course


We expect a civil and constructive discourse in this community.

Piracy:

Bootstrapping:


Other communities on related topics

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

founded 1 year ago
MODERATORS
 

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?

top 2 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 1 year 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 @[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).

[–] [email protected] 1 points 1 year 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