0

我有一个 GLKView,因为我对一些带有一些图形的动画使用了一些 OpenGLES。在我实现 viewWillAppear 方法之前,所有这些动画都运行良好。

我在 viewDidLoad 中初始化了两个计时器:

updateTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(updateScene) userInfo:nil repeats:YES];
paintTimer = [NSTimer scheduledTimerWithTimeInterval:0.02 target:self selector:@selector(paintScene) userInfo:nil repeats:YES];

NSLog 告诉我这两种方法(updateScene 和paintScene)被正确调用并且我的图形被正确更改。

现在只要我没有 viewWillAppear 方法,一切都可以正常动画。当我实现 viewWillAppear 方法时,updateScene 和 paintScene 仍然被调用,但没有任何变化。没有动画。viewWillAppear 为空。里面没有代码。

为什么所有动画都被屏蔽了?

4

1 回答 1

0

确保 viewWillAppear 调用 [super viewWillAppear:animated];
这可能会解决您的问题。根据 Apple 的文档:

如果你重写了这个方法,你必须在你的实现中调用 super 。

于 2013-06-28T13:38:18.367 回答