通知から指示されるたびに、ナビゲーション スタックを置き換えます。FirstViewController
戻るボタンをクリックした後に戻りたい場所であると仮定しましょう。そしてSecondViewController
、アラートをクリックしたときに行きたい場所です。
したがって、通知から参照するたびに、ナビゲーション スタックを次のように置き換えます。
FirstViewController *objFirstViewController = [[FirstViewController alloc] initWithNIBName: @"FirstViewController" bundle: nil];
SecondViewController *objSecondViewController = [[SecondViewController alloc] initWithNIBName: @"SecondViewController" bundle: nil];
NSArray *aryControllers = [NSArray arrayWithObjects: objFirstViewController,objSecondViewController, nil];
[self.navigationController setViewControllers: aryControllers animated: YES];
[objFirstViewController release];
[objSecondViewController release];
提示されたビューからポップバックすると、常にFirstViewController
. 上記は、アプリがバックグラウンドではない (または閉じている) 場合の状況です。アプリがバックグラウンドになっている状態と、通知を受け取ったときの状態については、
AppDelegate から、application:didReceiveRemoteNotification:
通常のプッシュと同じようにビューをプッシュできます。その後、通知を受け取る前の前のページに戻ります (プロジェクト全体でグローバル ナビゲーション コントローラーを使用していると仮定して)。
とにかくこれが役に立てば幸いです。