1

私はccsceneでadressBookを提示しています:

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]]];


}];

ブロックが完了すると、次のシーンが読み込まれ、すべてが完璧に機能します。私はまだ他の方法を見つけていませんが、私は1つについて知ってうれしいです。

于 2013-03-26T12:57:00.263 に答える