Iphone 完成块中的finished参数在animateWithDuration中的含义是什么
我试图了解iOS中的视图动画是如何工作的;我目前有一个动画,我用它来创建:Iphone 完成块中的finished参数在animateWithDuration中的含义是什么,iphone,ios,animation,Iphone,Ios,Animation,我试图了解iOS中的视图动画是如何工作的;我目前有一个动画,我用它来创建: + (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))anima
+ (void)animateWithDuration:(NSTimeInterval)duration
delay:(NSTimeInterval)delay
options:(UIViewAnimationOptions)options
animations:(void (^)(void))animations
completion:(void (^)(BOOL finished))completion
但是我有一个关于完成块中的finished参数的问题;我多少能理解finished参数是什么,如果finished是YES,动画实际上发生了,这是一件好事,但是当它被设置为NO时意味着什么,以及通常处理这个问题的常用方法是什么,特别是如果你想链接动画的话(调用完成块中的下一个动画)在同一视图上工作
我之所以问这个问题,是因为它有时会返回NO at,原因我不清楚,因为视图存在于视图层次结构中,并且没有其他动画介入。这意味着由于某种原因动画没有完成。例如,视图可能已从其superview中删除,或者其他动画可能已被删除我已经被应用到它上面,或者苹果公司最了解的一些其他原因。你如何处理它取决于你。你可以重新开始整个动画链,从上一个动画开始,或者下一个动画开始。当然,这取决于我,但如果知道没有完成的实际原因是什么,我会很高兴,这样我就可以据此采取行动。它确实可以大部分时间我都在做e作业,但在某些情况下,我确实没有得到返回,但我排除了返回的可能性:视图不可见,视图有其他动画,视图或其任何子视图的大小不正确。@MrJre Apple的文档提供的关于动画未完成原因的信息非常少,因此似乎很难重新显示以任何其他方式行动,而不是一般性的。如果你能找出他们在你的案例中失败的原因,请告诉我们。