Skip to content

Commit 6ddec90

Browse files
authored
fix(ios): UIViewControllerHierarchyInconsistency error (#432)
1 parent 8c9d29d commit 6ddec90

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

ios/ReactNativePageView.m

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,13 @@ - (void)shouldDismissKeyboard:(NSString *)dismissKeyboard {
147147
- (void)setupInitialController {
148148
UIView *initialView = self.reactSubviews[self.initialPage];
149149
if (initialView) {
150-
UIViewController *initialController = [[UIViewController alloc] initWithView:initialView];
150+
UIViewController *initialController = nil;
151+
if (initialView.reactViewController) {
152+
initialController = initialView.reactViewController;
153+
} else {
154+
initialController = [[UIViewController alloc] initWithView:initialView];
155+
}
156+
151157
[self.cachedControllers addObject:initialController];
152158

153159
[self setReactViewControllers:self.initialPage
@@ -250,7 +256,11 @@ - (UIViewController *)findAndCacheControllerForView:(UIView *)viewToDisplay {
250256
controllerToDisplay = current;
251257
}
252258
if (!controllerToDisplay) {
253-
controllerToDisplay = [[UIViewController alloc] initWithView:viewToDisplay];
259+
if (viewToDisplay.reactViewController) {
260+
controllerToDisplay = viewToDisplay.reactViewController;
261+
} else {
262+
controllerToDisplay = [[UIViewController alloc] initWithView:viewToDisplay];
263+
}
254264
}
255265
[self.cachedControllers addObject:controllerToDisplay];
256266

0 commit comments

Comments
 (0)