3

モーダルVCを閉じて、一定時間以内に(または別のVC)を再度表示すると、表示されません。私は何かが足りないのですか?

4

2 に答える 2

8

はい、できません。私はあなたがしたことはこのようなものだと思います:

 [self dismissModalViewControllerAnimated:YES];
 [self presentModalViewController:myNewController animated:YES];

これは機能しません。正確な理由はわかりませんが、それは私が信じているアニメーションに関連しています。オプションは、アニメーションなしで最初のビューを閉じるか、親のviewDidAppearに新しいビューが表示されるのを待つことです(または、前のモーダルビューの場合はviewDidDisappearですが、それが機能するかどうかはわかりません)。

于 2010-10-14T02:56:55.190 に答える
0

他のポスターが提案したことを除いて、2つのモーダルビューコントローラーを次々に閉じることはできません。たとえば、他のモーダルビューを閉じる前に少し待つことができます。

[self performSelector:@selector(method) withObject:nil afterDelay:.5];

ここで、呼び出されたメソッドは、他のモーダルビューを却下します。コードスニペットは、0.5秒後にセレクターを実行し、説明したようなアニメーションのタイミングの問題がある場合に使用して、呼び出し時間を分離して正しく実行することができます。

于 2010-10-14T03:23:25.440 に答える