0

私は2つのビューを持っています、TableControllerそしてWirelessController。TableControllerにいる間、WirelessControllerビューをポップする必要があります。これは私が試したもので、何も起こりません。コンソール出力もありません。

WirelessController *wCon = [[WirelessController alloc] init];
[[wCon navigationController] popViewControllerAnimated:YES];

これにも同じ問題があります。

[self navigationController] popViewControllerAnimated:YES];

ビューベースのアプリの場合、UINavigationControllerを使用しているのは事実ですか?

4

1 に答える 1

0

ポップではなく、プッシュするつもりだと思います...

WirelessController *wCon = [[WirelessController alloc] init];

[[self navigationController] pushViewControllerAnimated:YES];

Push は新しいアイテムをスタックの一番上に追加します。pop は、スタックから一番上の項目を削除します。

アップデート

皆さんのコメントからは、どうやら...

  • 最初のビューは WirelessController のインスタンスです。

  • そこから、モーダルに TableController を提示します

  • ここで、wirelessController に戻りたいと思います。

この場合、提示しているView Controller(wirelessController)にメッセージを送り返し、提示したView Controller(tableController)を閉じるように依頼する必要があります。

テーブルコントローラーで:

  [self presentingViewController] dismissViewControllerAnimated:YES 
                                                     completion:nil]];

何が起こっているにせよ、あなたは確かにこれをしたくありません:

WirelessController *wCon = [[WirelessController alloc] init];

この行は新しいオブジェクトを作成します。既存のオブジェクトに戻りたい。

viewController のプッシュポップは、通常、管理対象の viewController の配列を保持するナビゲーション コントローラに関連付けられているアクティビティです。その場合、プッシュして新しいコントローラーをスタックの一番上に追加し、ポップしてスタックから削除します。ナビゲーション コントローラーがない場合、そのようなスタックは存在しないため、プッシュとポップは意味がありません。

于 2013-01-24T01:08:42.147 に答える