Пример #1
0
 internal static void ExecuteAnimation(IAnimationPage page, UIView animatingView, IPageAnimation animation, bool isPop)
 {
     if (animation.Type == AnimationType.Flip)
     {
         RunUIAnimation(page, animatingView, animation, isPop);
     }
     else
     {
         RunCAAnimation(animatingView, animation, isPop);
     }
 }
Пример #2
0
        private static void RunUIAnimation(IAnimationPage page, UIView view, IPageAnimation animation, bool isPop)
        {
            page?.OnAnimationStarted(isPop);
            var duration = GetDuration(animation.Duration) / 1000d;

            UIView.BeginAnimations(string.Empty);
            UIView.SetAnimationDuration(duration);
            UIView.SetAnimationTransition(GetUITransitionType(animation, isPop), view, true);
            UIView.CommitAnimations();
            Xamarin.Forms.Device.StartTimer(System.TimeSpan.FromSeconds(duration), delegate
            {
                page?.OnAnimationFinished(isPop);
                return(false);
            });
        }