0

我正在做一个 iPhone 应用程序,我必须在其中显示问题。现在问题的数量大约是 70 个,在前一个问题被回答后会一一出现。要求是我必须像问题即将出现一样显示动画self.view 从不同的视图。当我以每个问题 3 秒的间隔为我的所有问题调用动画大约 70 次时,每次重复调用时,视图的移动都会稍微变慢。直到 20 个问题通过,很难找到错误是发生,但在那之后我们可以感觉到速度的差异。

我尝试在视图和动画的情况下使用 UITableview,每次我在回答问题时删除表并同时创建一个带有新问题的新表。这比视图好一点,但我们仍然可以感觉到速度上的差异在带有新问题的动画之后出现哪个表。

有什么建议么。

编辑:当问题在那个时间表上回答时在屏幕上。回答后我正在设置这样的视图框架:

[TableView setFrame:CGRectMake(320,49, 320, 411)];

然后我必须全屏显示表格。然后我在两秒钟后使用它:

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.2];
    [TableView setFrame:CGRectMake(0,49, 320, 411)];
    [UIView commitAnimations];

然后看起来问题来自其他观点。在经过一些问题之后的这段时间里,速度似乎正在下降。

提出一个更好的方法来做同样的事情。

4

1 回答 1

0

您可以尝试在一个动画块中为所有视图设置动画。同时运行 70 个动画块会减慢您的应用程序,尝试在一个动画块中执行所有 70 个视图动画,您会看到提升。

我怎样才能做到这一点?你可以说。

也许您可以创建一个单例并在那里传递所有视图动画,将它们保存在属性或其他东西中,然后通过提供 [mySingleton start]; 命令,您可以在一个块中执行所有动画。或者您可能会想出一个更好更简单的解决方案,代码是您的 :)

于 2013-09-18T11:18:44.890 回答