UIView.AddKeyframeWithRelativeStartTime(Double, Double, Action) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将单个关键帧添加到动画。
[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
调用 时,指定动画序列中的关键帧。 frameStartTime
和 frameDuration
参数的范围为 m 0 到 1,并指定相对于封闭AnimateKeyframes(Double, Double, UIViewKeyframeAnimationOptions, Action, UICompletionHandler)duration
参数的持续时间。
例如,在以下示例 (其中显示了如何使用传入的 Foundation.NSAction 参数和 C# lambda 表达式) ,第三个关键帧的 frameStartTime
和 frameDuration
都设置为 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);
}
);