私のプログラムには6つのView Controllerがあります.(ストーリーボードに)1,2,3,4,5,6を定義しましょう。
1が私のメインビューです。
私はこのようにナビゲートしたいです(下の画像)。それは可能ですか?このナビゲーションを行うアイデアをください。
私のプログラムには6つのView Controllerがあります.(ストーリーボードに)1,2,3,4,5,6を定義しましょう。
1が私のメインビューです。
私はこのようにナビゲートしたいです(下の画像)。それは可能ですか?このナビゲーションを行うアイデアをください。
最初にナビゲーションコントローラーオブジェクトを作成します
UINavigationController *navCtrl = [[UINavigationController alloc]initWithRootViewController:rootViewController];
self.window.rootViewController = navCtrl;
1->2,1->3,1->6 などに移動する場合は、次のビューコントローラー用のオブジェクトを作成し、ナビゲーション スタックにプッシュします。
[self.navigationController pushViewController:second animated:YES];
以前のView Controllerに戻るために追加の作業を行う必要はありません。デフォルトの戻るボタンで戻ることができます。
ルート ビュー コントローラーに戻る必要がある場合は、次のようにします。
[self.navigationController popToRootViewControllerAnimated:YES];
特定のView Controllerに戻りたい場合は、これを使用してください
[self.navigationController popToViewController:viewController animated:YES];
はい、これを実装できます。これは、NavigationController を使用した iOS での簡単なナビゲーションです。6 つの viewControllers 1、2、3、4、5、6 があります。
まず、NavigationController を作成し、ViewController 1 (つまり、ルート ビュー コントローラー) で初期化します。
これで、navigationController は、プッシュされたすべてのビュー コントローラーを含むスタックのように動作します。NavigationController はビュー コントローラのプッシュおよびポップのみです。
したがって、ナビゲーションを行うたびに、最初にviewControllerがnavigationControllerスタック内にあるかどうかを確認してください。すでにスタックにある場合はそのコントローラーにポップし、そうでない場合は同じView Controllerをプッシュします。この使用については、次のとおりです。
ViewController3の場合
-(void)popToSelectedViewController
{
NSArray *vc=[self.navigationController viewControllers];
ViewController3 *vc3=nil;
for (int i=0; i<[vc count]; i++)
{
UIViewController *tempVC=[vc objectAtIndex:i];
if([tempVC isKindOfClass:[ViewController3 class]])
{
vc=[vc objectAtIndex:i];
break;
}
}
if(vc3)
{
//If exists inside stack the pop
[self.navigationController popToViewController:vc3 animated:YES];
}
else
{
//If not exists inside stack push ViewController3
ViewController3 *vc3New= [[ViewController3 alloc]initWithNibName:@"ViewController3" bundle:nil];
[self.navigationController pushViewController:vc3New animated:YES];
[vc3New release];
}
}
navigationController で ur ViewController1 を初期化する場合:
ストーリーボードを使用する場合は、UINavigationController を使用 して初期ビューコントローラー (つまり、viewController3) を埋め込みます。このため:
ステップ 1: ストーリーボードを開き、ur initialViewController (つまり、viewController3) を選択します。
ステップ 2: メニューのエディターに移動 -> 埋め込みを選択 -> UINavigationController を選択します。これにより、navigationController が作成され、viewController3 を rootViewController として初期化されます。
.h で vc3 (ViewController3) と applicationNavigationController (UINavigationController) のストーリーボード make プロパティを使用しない場合
そして.mで:
appDelegate でメソッド「application... didFinishedLaunching....」を取得し、次のように記述します。
self.vc3=[[ViewController3 alloc]initWithNibName:@"ViewController3" bundle:nil];
self.applicationNavigationController=[[UINavigationController alloc] initWithRootViewController:self.vc3];
self.window.rootViewController=self.applicationNavigationController;
[self.window makeKeyAndVisible];
使用しますUINavigationController
。円形ではありません。積み重ねられたアプローチと見なすことができます。それがナビゲーション コントローラーの機能です。