繁体   English   中英

动画块 - 完成立即触发

[英]Animation Block - Completion fires immediately

为什么下面的代码一旦被触发就会记录'完成'?

[UIView animateWithDuration:0.3 
                 animations:^{
                        NSLog(@"Start");
                 } 
                 completion:^(BOOL finished){
                     NSLog(@"done");
                 }
 ];

因为你实际上并没有动画任何东西(NSLog不能动画)。 您需要为对象设置动画,否则将立即调用完成块。 如果没有动画,则将忽略0.3秒的持续时间。

因为你没有动画任何东西。 如果更改动画块中某些UIView的值,您将在0.3秒延迟后正确看到“完成”输出。

我使用完全正确的代码测试了5秒延迟,只添加了一些动画以确认。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM