3

有时当我在设备上运行我的应用程序时,我猜大概有 20% 的时间是动画,例如:

[tableView setEditing:NO animated:YES];
[tableView setContentOffset:rect animated:YES];

[viewController0 pushViewController:viewController1 animated:YES];

不要动画,但会立即改变。但动画如:

[UIView animateWithDuration:0.2
                     animations:^{
                         // do something
                     }
                     completion:^(BOOL finished) {
                         // do something else
                     }];

工作正常。这发生在其他人身上吗?不知道是什么原因造成的,它只发生在这个应用程序上,从来没有发生在任何其他应用程序上,而且它有时会发生。任何帮助表示赞赏。

编辑:

只是想澄清一下。

我用“animateWithDuration”创建的动画效果很好。

有时,来自可可的动画不会在应用程序运行的整个过程中播放。

4

3 回答 3

1

在推送视图控制器之前尝试设置 UIView 动画参数。

这是一个例子:

[UIView beginAnimation:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:viewController1.view cache:NO];

[viewController0 pushViewController:viewController1 animated:YES];
[UIView commitAnimations];
于 2012-09-30T23:01:18.123 回答
0

也许是因为你使用了布尔值。我的动画是完全一样的,但它工作正常:

[UIView animateWithDuration:4.0 animations:^(void) {
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
        pfeil.alpha = 1.00;
         }];

那是我的代码...有任何问题吗?

于 2012-10-02T22:21:01.880 回答
0

也许你有很多数据要加载到你的 VC 中?如果您在主线程中加载数据,它会在一段时间内停止所有用户交互和 UI 响应。

于 2012-10-05T01:38:41.933 回答