Re-enable animations inside modal presentation modifiers #98
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
Placing any modal on a parent view unexpectedly turned off every SwiftUI animation in that parent hierarchy. Example:
Observed: the
SULoading
spinner froze as soon as thebottomModal
is added—even though the modal is not presented.Root cause
ModalPresentationModifier
ended with:Because a
Transaction
propagates down the view tree, this flag disabled all descendant animations, including those unrelated to the modal itself.Fix
Immediately reset the flag for the caller’s content:
.transaction { … = false }
is higher in the hierarchy, so every animation in the caller’s view (includingSULoading
) now runs normally..transaction { … = true }
still prevents unwanted implicit animations during presentation/dismissal state changes.