Add support for disabling animations when presenting/dismissing modals on iOS #337
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.
Currently, there's no way to disable the system animation for presenting modal view controllers.
if you're using the native stack navigator on iOS and you have a modal with a custom animation, it presents the new controller with the system animation, and then your modal with the custom animation will trigger – two animations, when you only meant for one to happen.
To address this, I made it so that, when presenting the next view controller, it checks if the
RNSScreenView
hasstackAnimation
set toRNSScreenStackAnimationNone
, and if so,animated
will beNO
. It also does the reverse check when dismissing, but relying on the top screen.stackAnimation
for this, sincestack
andmodal
are not the same thing....but it seems like the easiest way to do this while introducing the fewest number of changes.