0

2つのビューコントローラーがセグエを介して相互に接続されています。誰かがボタンを押すと、viewcontroller2に移行します。そのviewdidloadで、次のコードを使用してセグエの「戻る」を開始することにより、元のViewControllerに戻すように開始します。

 [self performSegueWithIdentifier: @"backs" sender: self];

ただし、ビューコントローラが階層外にあると言って、この単純な遷移を拒否し続けますか?ビューコントローラは2つしかないので、どうすればそれが可能になるのでしょうか。

4

1 に答える 1

0

viewDidLoad早すぎます。ビューはロードされましたが、ビュー階層にはまだ配置されていません。まで待ちたいviewDidAppear。これは、ビューコントローラのビューが実際に完全なビュー階層の一部である最初の瞬間です。(それでも、遅延パフォーマンスを使用する必要があるかもしれません。よくわかりません。)

あなたが言っていることについてのもう一つの問題は、あなたがセグエによってビューコントローラーAからビューコントローラーBに行くならば、あなたが通常のセグエによって戻ることができないということです。新しい「巻き戻し」セグエ機能を使用するか、手動で戻る必要があります(たとえば、提示されたコントローラーを閉じる、プッシュされたコントローラーをポップする)。

于 2012-11-29T23:45:29.790 に答える