@@ -118,7 +118,9 @@ export class Frame extends FrameBase {
118
118
if ( ! this . _currentEntry ) {
119
119
// Update action-bar with disabled animations before the initial navigation.
120
120
this . _updateActionBar ( backstackEntry . resolvedPage , true ) ;
121
- this . pushViewControllerAnimated ( viewController , animated ) ;
121
+ // Core defaults modalPresentationStyle to 1 for standard frame navigation
122
+ // for all others, it's modal presentation
123
+ this . pushViewControllerAnimated ( viewController , animated , this . _ios ?. controller ?. modalPresentationStyle !== 1 ) ;
122
124
if ( Trace . isEnabled ( ) ) {
123
125
Trace . write ( `${ this } .pushViewControllerAnimated(${ viewController } , ${ animated } ); depth = ${ navDepth } ` , Trace . categories . Navigation ) ;
124
126
}
@@ -180,13 +182,14 @@ export class Frame extends FrameBase {
180
182
}
181
183
}
182
184
183
- private pushViewControllerAnimated ( viewController : UIViewController , animated : boolean ) {
185
+ private pushViewControllerAnimated ( viewController : UIViewController , animated : boolean , isModal : boolean ) {
184
186
let transitionCoordinator = this . _ios . controller . transitionCoordinator ;
185
- if ( transitionCoordinator ) {
187
+ if ( ! isModal && transitionCoordinator ) {
186
188
transitionCoordinator . animateAlongsideTransitionCompletion ( null , ( ) => {
187
189
this . _ios . controller . pushViewControllerAnimated ( viewController , animated ) ;
188
190
} ) ;
189
191
} else {
192
+ // modal should always push immediately without transition coordinator
190
193
this . _ios . controller . pushViewControllerAnimated ( viewController , animated ) ;
191
194
}
192
195
}
0 commit comments