Share via


UIView.AddKeyframeWithRelativeStartTime(Double, Double, Action) 方法

定义

将单个关键帧添加到动画。

[Foundation.Export("addKeyframeWithRelativeStartTime:relativeDuration:animations:")]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 7, 0, ObjCRuntime.PlatformArchitecture.All, null)]
public static void AddKeyframeWithRelativeStartTime (double frameStartTime, double frameDuration, Action animations);
static member AddKeyframeWithRelativeStartTime : double * double * Action -> unit

参数

frameStartTime
Double

相对于包含操作的动画开始时间 (0-1)

frameDuration
Double

相对于包含操作的动画持续时间 (0-1) 。

animations
Action

定义关键帧的结束状态的操作。

属性

注解

此方法在调用 AnimateKeyframes(Double, Double, UIViewKeyframeAnimationOptions, Action, UICompletionHandler)的操作中animations调用 时,指定动画序列中的关键帧。 frameStartTimeframeDuration 参数的范围为 m 0 到 1,并指定相对于封闭AnimateKeyframes(Double, Double, UIViewKeyframeAnimationOptions, Action, UICompletionHandler)duration参数的持续时间。

例如,在以下示例 (其中显示了如何使用传入的 Foundation.NSAction 参数和 C# lambda 表达式) ,第三个关键帧的 frameStartTimeframeDuration 都设置为 0.5;由于包含 AnimateKeyframesAsync(Double, Double, UIViewKeyframeAnimationOptions, Action)duration 设置为 3 秒,此动画将在 1.5 秒处开始,需要 1.5 秒才能完成。

var animationSucceeded = await UIView.AnimateKeyframesAsync(
		duration : 3,
		delay : 0,
		options: UIViewKeyframeAnimationOptions.AllowUserInteraction,
		animations: () => {
			UIView.AddKeyframeWithRelativeStartTime(0, 0.25, () => label.Frame = new RectangleF(label.Frame.Left + 250, label.Frame.Top, label.Frame.Width, label.Frame.Height)
				);
			UIView.AddKeyframeWithRelativeStartTime(0.25, 0.25, keyframe2);
			UIView.AddKeyframeWithRelativeStartTime(0.5, 0.5, keyframe3);
		}
	);

适用于