public async Task PopModalAsync(Page originPage, PageTransitionEffectType transitionEffect, TransitionOptions options = null) { var nativeOriginPage = originPage.GetNativeController(); var transitionDelegate = new ViewControllerTransitioningDelegate() { TransitionType = transitionEffect, Options = options }; nativeOriginPage.TransitioningDelegate = transitionDelegate; await originPage.Navigation.PopModalAsync(); }
//Does not currently animate the transition. PR has been merged. Waiting for release. public async Task PushModalAsync(Page originPage, Page destinationPage, PageTransitionEffectType transitionEffect, TransitionOptions options = null) { var nativeDest = destinationPage.GetNativeController(); var transitionDelegate = new ViewControllerTransitioningDelegate() { TransitionType = transitionEffect, Options = options }; nativeDest.ModalPresentationStyle = UIModalPresentationStyle.Custom; nativeDest.TransitioningDelegate = transitionDelegate; await originPage.Navigation.PushModalAsync(destinationPage); }