0

コンテンツビュー内からポップオーバーを閉じようとしていますが、セグエの巻き戻しがこれを行う正しい方法であることを知っており、ボタンを終了アイコンに接続してストーリーボードで巻き戻しアクションを作成すると、完全にうまく機能します。

しかし、同じアクションをプログラムで実行することに固執しています。

これは私のストーリーボード階層です:

[Navigation Controller]
v
[Main View Controller]
v
(popover segue)
v
["B" Tab Bar Controller]
v
[Navigation Controller]
v
["C" View Controller]

そう。「C」ビューコントローラーにテーブルビューがあり、そのセルをタップして、コードを実行してから、最初のメインビューコントローラーまですべてを巻き戻したいと考えています。

これを行う簡単だが正しくない方法は、メイン ビュー コントローラーに通知を送信し、そこでポップオーバー コントローラーを閉じることです。またはデリゲートなどを介して。

しかし、この状況で「popTo」メソッドを使用する方法を理解したいです。

単純

[self.navigationController popToViewController:[AppModel sharedInstance].mainViewController animated:YES];

「存在しないビューコントローラーにポップしようとしました」というエラーでアプリケーションをクラッシュさせるだけです。

そして、私はこれについて混乱しています

4

1 に答える 1

0

シークでポップオーバーを作成したので、巻き戻したい場所の参照がある場合:

- (IBAction)unwindToThisViewController:(UIStoryboardSegue *)unwindSegue
{
}

ポップオーバーは簡単に閉じることができるため、プログラムで作成する方が良い場合もあります...私がしばらく前に書いたコードを見てみましょう:

 [myPopoverController dismissPopoverAnimated:YES];
于 2013-08-17T21:28:12.503 に答える