2012-07-14 44 views
3

我不知道这段代码有什么问题。与UIView,animateWithDuration和完成问题

[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在收缩结束之前显示得很好。

任何帮助将不胜感激。

感谢

回答

0

在UIView的文档中,变换属性,说:

更改这个属性可以是动画。使用 beginAnimations:context:类方法开始,并使用commitAnimations类方法结束动画块。默认 是什么中心值(如果改变或锚点)

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

1

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

谢谢

相关问题