麻烦UIView,animateWithDuration并完成

时间:2012-07-14 08:51:54

标签: ios animation uiview

我不知道这段代码有什么问题。

[UIView animateWithDuration:10.0f delay:0.0f options:UIViewAnimationOptionTransitionNone animations:^{
    CGAffineTransform transform = CGAffineTransformMakeScale(0.1, 0.1);
    self.transform = transform;
}
completion:^(BOOL finished) {
    if (finished) { 
        NSLog(@"Animation finished");
        [[NSNotificationCenter defaultCenter] postNotificationOnMainThreadName:@"NSShowHomeScreen" object:nil ];
    }
}];

即使持续时间为10秒,我也会在动画开始时立即收到控制台消息“动画完成”。

我想缩小/扩展我的第一个UIView,之后我想展示另一个UIView。但是现在第二个UIView在收缩结束之前就显示出来了。

非常感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:1)

对不起,这是我的坏事。我也在使用导致问题的UIPinchGestureRecognizer。无论如何,感谢您的快速回复..

由于

答案 1 :(得分:0)

在UIView文档中,对于transform属性,说:

  

可以设置对此属性的更改。使用   beginAnimations:context:要开始的类方法和   commitAnimations用于结束动画块的类方法。默认   是中心值(或者如果改变了锚点)

所以也许它不能使用块方法动画,你将不得不在动画周围使用begin和commit包装器