fix(ios): Allow creating missing view controllers on reused views #10941
+70
−30
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.
PR Checklist
What is the current behavior?
Right now, if one removes a view like Frame from the view-tree and decides to re-add it there, the view controller will have already been disposed and there's no handling for creating it anew.
What is the new behavior?
Create view controller during
createNativeViewstep if missing.We keep the view controller initialization inside constructors because it's needed for special cases and tests.
Also, there are a couple of small improvements that help TabView tab transition animation work even if view was disposed in the meantime and let tests pass.
This might also be a solution to the problem described in #10940