@@ -75,13 +75,15 @@ - (void)presentModalHostView:(RCTModalHostView *)modalHostView
75
75
modalHostView.onShow (nil );
76
76
}
77
77
};
78
- if (_presentationBlock) {
79
- _presentationBlock ([modalHostView reactViewController ], viewController, animated, completionBlock);
80
- } else {
81
- [[modalHostView reactViewController ] presentViewController: viewController
82
- animated: animated
83
- completion: completionBlock];
84
- }
78
+ dispatch_async (dispatch_get_main_queue (), ^{
79
+ if (self->_presentationBlock ) {
80
+ self->_presentationBlock ([modalHostView reactViewController ], viewController, animated, completionBlock);
81
+ } else {
82
+ [[modalHostView reactViewController ] presentViewController: viewController
83
+ animated: animated
84
+ completion: completionBlock];
85
+ }
86
+ });
85
87
}
86
88
87
89
- (void )dismissModalHostView : (RCTModalHostView *)modalHostView
@@ -93,11 +95,13 @@ - (void)dismissModalHostView:(RCTModalHostView *)modalHostView
93
95
[[self .bridge moduleForClass: [RCTModalManager class ]] modalDismissed: modalHostView.identifier];
94
96
}
95
97
};
96
- if (_dismissalBlock) {
97
- _dismissalBlock ([modalHostView reactViewController ], viewController, animated, completionBlock);
98
- } else {
99
- [viewController.presentingViewController dismissViewControllerAnimated: animated completion: completionBlock];
100
- }
98
+ dispatch_async (dispatch_get_main_queue (), ^{
99
+ if (self->_dismissalBlock ) {
100
+ self->_dismissalBlock ([modalHostView reactViewController ], viewController, animated, completionBlock);
101
+ } else {
102
+ [viewController.presentingViewController dismissViewControllerAnimated: animated completion: completionBlock];
103
+ }
104
+ });
101
105
}
102
106
103
107
- (RCTShadowView *)shadowView
0 commit comments