いくつかの方法がありますので、主にさまざまなパターンでこれを行います。次のようにして、アプリデリゲートにナビゲーションコントローラを設定することができます。
self.viewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
self.navigationController = [[ UINavigationController alloc ] initWithRootViewController:self.viewController ];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
その後、あなたはこれを行うことができ、新たなVCを提示したいとき:
OtherViewController *ovc = [[ OtherViewController alloc ] initWithNibName:@"OtherViewController" bundle:nil ];
[ self.navigationController pushViewController:ovc animated:YES ];
を戻るには、この操作を行います。
を
:限りコールバックは、これを行うための一つの方法は、あなたのプロジェクトでは、このどこかのようなプロトコルを作ることです行くよう
[ self.navigationController popViewControllerAnimated:YES ];
その後、とき
OtherViewController *ovc = [[ OtherViewController alloc ] initWithNibName:@"OtherViewController" bundle:nil ];
ovc.delegate = self;
[ self.navigationController pushViewController:ovc animated:YES ];
:あなたは新しいVCがデリゲートとして割り当てる提示したときに最後に
@interface OtherViewController : UIViewController <AbstractViewControllerDelegate>
@property (nonatomic, assign) id<AbstractViewControllerDelegate> delegate;
@end
:
は、その後、あなたがコールバックが別名デリゲートでトリガしたい各ビューコントローラを作りますあなたはovcを却下し、この電話をしてください。
[self.delegate abstractViewControllerDone];
[ self.navigationController popViewControllerAnimated:YES ];
そして、プロトコルに準拠したrootVCあなたはちょうどこのメソッドを記入してください:
-(void) abstractViewControllerDone {
}
あなたはちょうど呼び出しました。これには多くの設定が必要ですが、NSNotificationsとブロックを調べることもできます。
Android Rocks、iOS Sucks! (私の上司にこのコメントXDが表示されないことを願っています)最後に、iOSよりもAndroidで実装する方がはるかに簡単なものが表示されます:D –
そうですが、 –