void StartAnimations() { // var options = UIViewKeyframeAnimationOptions.Repeat | UIViewKeyframeAnimationOptions.CalculationModeCubicPaced UIViewKeyframeAnimationOptions = [.curveEaseInOut, .repeat] UIViewKeyframeAnimationOptions options = UIViewKeyframeAnimationOptions.Repeat | (UIViewKeyframeAnimationOptions)UIViewAnimationOptions.CurveEaseInOut; UIView.AnimateKeyframes(AniRippleStartScale + AniRippleEndScale, 0, options, () => { UIView.AddKeyframeWithRelativeStartTime(0, AniRippleStartDuration, () => { _targetRippleView.Alpha = AniRippleAlpha; _targetHolderView.Transform = CGAffineTransform.MakeScale(AniRippleEndScale, AniRippleEndScale); _targetRippleView.Transform = CGAffineTransform.MakeScale(AniRippleEndScale, AniRippleEndScale); }); UIView.AddKeyframeWithRelativeStartTime(AniRippleStartDuration, AniRippleEndDuration, () => { _targetHolderView.Transform = CGAffineTransform.MakeIdentity(); _targetRippleView.Alpha = 0; _targetRippleView.Transform = CGAffineTransform.MakeScale(AniRippleStartScale, AniRippleStartScale); }); }, success => { }); }
public static void StartAnimation(this MaterialShowcase materialShowcase) { UIViewKeyframeAnimationOptions options = UIViewKeyframeAnimationOptions.Repeat | 0 << 16; UIView.AnimateKeyframes(1, 0, options, () => { UIView.AddKeyframeWithRelativeStartTime(0, .5f, () => { materialShowcase.targetRippleView.Alpha = MaterialShowcase.AniRippleAlpha; materialShowcase.targetHolderView.Transform = CGAffineTransform.MakeScale(1.1f, 1.1f); materialShowcase.targetRippleView.Transform = CGAffineTransform.MakeScale(1.1f, 1.1f); }); UIView.AddKeyframeWithRelativeStartTime(.5f, .5f, () => { materialShowcase.targetHolderView.Transform = CGAffineTransform.MakeIdentity(); materialShowcase.targetRippleView.Alpha = 0; materialShowcase.targetRippleView.Transform = CGAffineTransform.MakeScale(materialShowcase.aniRippleScale, materialShowcase.aniRippleScale); }); }, (completion) => { Console.WriteLine("ok"); }); }