如何查找当前UIView动画的详细信息?

如何查找当前UIView动画的详细信息?,uiview,uianimation,Uiview,Uianimation,对于自定义UIView类上的属性,我有一个setter方法。如果它设置在UIView动画块中,我希望它向视图层添加cabasicanition,与UIView动画具有相同的持续时间和轻松度。如何确定我是否在UIView动画块中,以及如何获得其持续时间和缓和曲线?关于[UIView animateWithDuration]的文档说明 此方法使用UIViewAnimationOptionCurveEaseInOut和UIViewAnimationOptionTransitionNone动画选项立即执

对于自定义
UIView
类上的属性,我有一个setter方法。如果它设置在
UIView
动画块中,我希望它向视图层添加
cabasicanition
,与
UIView
动画具有相同的持续时间和轻松度。如何确定我是否在
UIView
动画块中,以及如何获得其持续时间和缓和曲线?

关于[UIView animateWithDuration]的文档说明

此方法使用UIViewAnimationOptionCurveEaseInOut和UIViewAnimationOptionTransitionNone动画选项立即执行指定的动画


至于持续时间,您可以自己设置持续时间,因此您现在已经知道了。

关于[UIView animateWithDuration]的文档说明

此方法使用UIViewAnimationOptionCurveEaseInOut和UIViewAnimationOptionTransitionNone动画选项立即执行指定的动画


至于持续时间,您自己设置了持续时间,因此您已经知道了。

基于这个问题,我对
ui视图进行了扩展。
块动画:


当从动画块调用setter时,它允许您运行
CAAnimations
。包括
cornerRadius
示例。

基于此问题,我对
ui视图进行了扩展。
块动画:

当从动画块调用setter时,它允许您运行
CAAnimations
。包括带有
拐角半径的示例。

非常简单。。 可以使用将所有动画关键点应用到视图

[self.YourView.layer animationKeys];
很简单。。 可以使用将所有动画关键点应用到视图

[self.YourView.layer animationKeys];

您可以很容易地获取当前动画。例如,设置
CATTransaction

CAAnimation *animation = [self.layer animationForKey:self.layer.animationKeys.firstObject];
[CATransaction begin];
[CATransaction setAnimationDuration:animation.duration];
[CATransaction setAnimationTimingFunction:animation.timingFunction];

// CALayer animation here

[CATransaction commit];

您可以很容易地获取当前动画。例如,设置
CATTransaction

CAAnimation *animation = [self.layer animationForKey:self.layer.animationKeys.firstObject];
[CATransaction begin];
[CATransaction setAnimationDuration:animation.duration];
[CATransaction setAnimationTimingFunction:animation.timingFunction];

// CALayer animation here

[CATransaction commit];

感谢您提供有关选项的信息。我不一定知道持续时间,因为我正在为其他人可能在动画块内或不在动画块内调用的属性编写setter。我想知道我是否在动画中,如果是的话,它的持续时间是多少。完全错过了这一点:/谢谢提供有关选项的信息。我不一定知道持续时间,因为我正在为其他人可能在动画块内或不在动画块内调用的属性编写setter。我想知道我是否在动画中,如果是的话,它的持续时间是多少。完全忽略了这一点:/