0

私はAndroidのバックグラウンドを持っており、要するにすべての画面にスタックにプッシュされたアクティビティがあります。そのアクティビティでActivity.this.finish()を呼び出すと、スタックから削除され、前の画面にアプリが戻ります(戻るボタンのような動作)。iOS 6アプリにはナビゲーションバーがあります(ナビゲーションコントローラーに埋め込まれていません。何かを呼び出して現在のコントローラーを破棄し、以前のコントローラーに戻る方法はありますか?

4

3 に答える 3

2

NavigationControllerに到達できない場合、スタックを変更することはできません。

ビューにNavigationControllerへのアクセスを許可し(たとえば、NCをビューのクラスに参照するフィールドを追加することによって)、必要な場所から呼び出すだけでよいと思います。

また、AppDelegateクラスでNCへの参照を維持できるため、アプリ内の任意の場所からNCのメソッドを呼び出すことができます。

于 2013-02-15T04:17:50.160 に答える
2

「現在のコントローラー」をどのように持ってきたかによります。ナビゲーションコントローラーが含まれていないため、「PresentViewController」を使用してこの「現在のコントローラー」を取得できます。次に、次のように「dismissViewController」を実行できます。

[self dismissViewControllerAnimated:YES completion:Nil];
于 2013-02-15T04:18:12.043 に答える
1

ビューはコントローラーと明示的な関係を持たず、ビューをコントローラースタックに含めることはできません。ボタンターゲットをUIViewControllerインスタンスに設定し、アクションメソッド呼び出しで次のようにします。

[self.navigationController popViewControllerAnimated:YES|NO];
于 2013-02-15T04:19:04.247 に答える