2012-10-23 100 views
2

任何想法为什么下面的代码不能在IOS 6下工作,虽然它在执行NSLog的IOS 5下完全运行,但在IOS 6上(在模拟器和iPad中),NSLog根本不会执行!IOS 6 UIView动画完成

[UIView animateWithDuration: 2.0f animations:^{ [self.view setAlpha:0.7f];} 
       completion:^(BOOL finished){ if(finished) NSLog(@"Finished !!!!!!");}]; 
+0

什么不起作用?什么都没有发生或错误的事情?你在哪里打电话? –

+0

Ir在IOS 5响应“完成”时完美运行,但在IOS 6上(在模拟器和iPad中)NSLog根本不执行! –

+0

今天我似乎遇到了一个非常类似的问题。我有一个可以在iOS 5上正常工作的动画块,但是在iOS 6上,完成块永远不会触发。 – kcharwood

回答

8

这里的代码

[UIView animateWithDuration:2.0 
         delay:0.0 
        options: UIViewAnimationOptionCurveEaseInOut 
       animations:^{ 
        [self.view setAlpha:0.7f]; 

       } 
       completion:^(BOOL finished){ 
        if(finished) NSLog(@"Finished !!!!!"); 
        // do any stuff here if you want 
       }]; 
+0

需要UIViewAnimationOptionCurveEaseInOut,而不是UIViewAnimationCurveEaseInOut – coneybeare