コード例 #1
0
        /// <summary>
        /// Closes this UIViewController.
        /// </summary>
        /// <param name="transitionInfo">The transition info affecting the native animation.</param>
        public async Task Close(UIViewControllerSectionsTransitionInfo transitionInfo)
        {
#if __IOS__
            if (_wasClosedNatively)
            {
                return;
            }

            _isClosingProgrammatically = true;
            SetTransitionInfo(transitionInfo);

            await DismissViewControllerAsync(animated : true);
#else
            await Task.CompletedTask;
#endif
        }
コード例 #2
0
#pragma warning restore CS0414

        /// <summary>
        /// Opens this UIViewController.
        /// </summary>
        /// <param name="transitionInfo">The transition info affecting the native animation.</param>
        public async Task Open(UIViewControllerSectionsTransitionInfo transitionInfo)
        {
            OpeningTransitionInfo = transitionInfo;
#if __IOS__
            SetTransitionInfo(transitionInfo);

            var rootController = UIKit.UIApplication.SharedApplication.KeyWindow.RootViewController;

            if (!(rootController is MostPresentedRootViewController))
            {
                this.Log().LogWarning($"The RootViewController isn't a {nameof(MostPresentedRootViewController)} which can cause issues with other UIViewController-related Uno features.");
            }

            await rootController.PresentViewControllerAsync(this, animated : true);
#else
            await Task.CompletedTask;
#endif
        }
コード例 #3
0
 private void SetTransitionInfo(UIViewControllerSectionsTransitionInfo transitionInfo)
 {
     ModalInPresentation    = !transitionInfo.AllowDismissFromGesture;
     ModalPresentationStyle = transitionInfo.ModalPresentationStyle;
     ModalTransitionStyle   = transitionInfo.ModalTransitionStyle;
 }
コード例 #4
0
 /// <summary>
 /// Creates a new instance of <see cref="ModalClosedEventArgs"/>.
 /// </summary>
 /// <param name="modalName">The closed modal's name.</param>
 /// <param name="transitionInfo">The transition info used.</param>
 public ModalClosedEventArgs(string modalName, UIViewControllerSectionsTransitionInfo transitionInfo)
 {
     ModalName      = modalName;
     TransitionInfo = transitionInfo;
 }