0

iPadアプリ用にいくつかのオプションを備えたモーダルがあります。オプションが選択されたら、モーダルを削除してから新しい画面に移動します。

新しいセグエが発生する前に、元の画面(モーダルを起動した)を2秒間表示したいと思います。このコードが機能しないのはなぜですか?

[self dismissModalViewControllerAnimated:YES];
sleep(2.0);
[self performSegueWithIdentifier:@"normalPushSegue" sender:self];

これが何が起こるかです:モーダルのボタンが押されると、それは2秒間フリーズし、その後非常に速くnormalPushSegue画面に移行します。スリープコマンドを入れて prepareForSegueも同じことをします。

何か案は?セグエを遅らせる他の方法はありますか?

4

1 に答える 1

1

performSelector:afterDelay:代わりに使用してください:

[self performSelector:@selector(performSegueWithIdentifier::) withObject:@"normalPushSegue" withObject:self afterDelay:2];
于 2012-07-02T16:38:32.257 に答える