1

我在 ccscene 中展示了一个地址簿:

picker = [[ABPeoplePickerNavigationController alloc] init];
     picker.peoplePickerDelegate = self;
    [[CCDirector sharedDirector]presentModalViewController:picker animated:YES];

它运作良好。

当我想回到上一个场景并关闭它时,我会:

  [[CCDirector sharedDirector] dismissModalViewControllerAnimated:NO];
    [[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:0.1f scene:[Home scene]]];

它确实消失了,我确实看到了我的场景 0.3 秒,然后它消失了,我有一个黑屏(带有一些消息:无法通过标签删除孩子-我不会在下一个场景中删除任何孩子,只需加载背景)

那么,我将如何解除它并安全地回到下一个场景?

多谢 。

4

1 回答 1

1

当关闭模态视图时,它需要时间,所以如果我加载下一个场景并且操作还没有完成,它也会取出下一个场景。

需要做的是等到它完成而不是加载下一个视图:(使用块)

    [[CCDirector sharedDirector] dismissViewControllerAnimated:YES completion:^
{
   [[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:0.4f scene:[Home scene]]];


}];

比块完成后,它会加载下一个场景,并且一切都很完美!我还没有找到任何其他方法,但我很高兴知道一个。

于 2013-03-26T12:57:00.263 回答