当场停止动画

时间:2010-10-04 16:29:44

标签: animation ios4 uislider

我有一个动画的UISLider - 在91.0秒的时间内穿过屏幕。 我希望能够停止动画点。

代码:

 [UIView animateWithDuration:91.0
        delay:0.0
        options:UIViewAnimationOptionRepeat|
                    UIViewAnimationOptionAllowUserInteraction|
            UIViewAnimationOptionBeginFromCurrentState
        animations:^{[UIView setAnimationDuration:91.0];
                 [myUISlider setValue:91.0];}
            completion:nil];

    [UIView commitAnimations];
  • 停止动画的一种方法是设置新值。但是,我无法在动画中读取滑块的当前值/位置。当访问mySlider.value时,我得到目标值(动画结束的地方,即91。

我做了一些挖掘并遇到了连续标志,它会激活一个动作方法,默认设置为YES。来自开发人员参考:

“......如果是,滑块会连续向相关目标的操作方法发送更新事件......”。

然而,这里的值再次是91.0 ......

谢谢你的时间。

你的,

〜NIR。

1 个答案:

答案 0 :(得分:0)

如果您向UISlider的图层询问其-presentationLayer,则可以询问该图层的副本以获取近实时动画属性。来自CALayer documentation

  

返回包含所有属性的图层副本,与当前事务开始时一样,并应用任何活动动画。