0

アンワインド セグエは、モーダル ビューおよびコンテナー ビューと組み合わせると、iOS 8.1 で期待どおりに動作しないようです。githubにあるテスト プロジェクトのビュー コントローラー階層は次のとおりです。

セグエ バグ階層イメージの巻き戻し

「タップしてください」ボタンをタップすると、ナビゲーション コントローラーに埋め込まれ、子ビュー コントローラーとして tableView を持つモーダル ビューがプッシュされます。tableView の行をタップすると、別の tableView がプッシュされます。最後に、この最後の tableView の行をタップすると、前のビュー コントローラーで見つかった名前のアンワインド セグエが呼び出されます。bUnwindSegue

問題:

  1. bUnwindSegue が呼び出されることはありません。
  2. テクニカル ノートTN2298によると、コンテナー ビュー コントローラーは、セグエを処理する子ビュー コントローラーの選択を担当します。この場合viewControllerForUnwindSegueAction:fromViewController:withSender:、コンテナ ビュー コントローラで呼び出す必要があります。そうではありません。

BTableViewControllerサンプル プロジェクトでは、アンワインド セグエが含まれていることがわかります。

- (IBAction)bUnwindSegue:(UIStoryboardSegue *)segue;
{
    NSLog(@"Unwinding...this unwind segue will never get called.");
}

ストーリーボードでは、セル選択アクションCTableViewControllerは確かにbUnwindSegue. CTableViewControllerまた、コンテナ ビュー コントローラでセル選択アクションをアンワインド セグエに変更するcontainerVCUnwindSegueと、セグエが正しく呼び出されることにも注意してください。

アンワインド セグエが期待どおりに動作していませんか?

4

1 に答える 1