たとえば、Storybards が 2 つあります。最初のストーリーボードにはボタン付きのビューがあり、ボタンを押すと 2 番目のストーリーボードが表示されます。
どうやってやるの?
ストーリーボードクラスのドキュメントをご覧ください
を使用してストーリーボードを作成できます
UIStoryBoard *storyboard = [UIStoryboard storyboardWithName:@"secondStoryboard" bundle:nil];
のようにそれからビューコントローラを取得します
UIViewController *initialViewController = [storyboard instantiateInitialViewController];
また
UIViewController *otherViewcontroller = [storyboard instantiateViewControllerWithIdentifier:@"otherController"];
ビューコントローラーを入手したら、ナビゲーションコントローラーにプッシュするだけです。
ただし、同じビュー階層で2つのストーリーボードオブジェクトを使用するとどうなるかわかりません。おそらく問題ありませんが、わかりません:)
あなたの質問は少し混乱していますが、私はあなたが何をしようとしているのか知っていると思います.
2 つのストーリーボードを使用します。UIStoryboardには、指定された名前のストーリーボードのインスタンスを取得するメソッドがあります。まず、Xcode でストーリーボードとビュー コントローラーの名前を設定し、それらをロードしてから、任意のビュー コントローラー内から:
UIStoryboard *anotherStoryboard = [UIStoryBoard storyboardWithName:@"SomeStoryboardName" bundle:nil];
その後、任意のストーリーボードから目的の UIViewController をインスタンス化します。
UIViewController *anotherViewController = [anotherStoryboard instantiateViewControllerWithIdentifier:@"SomeViewControllerName"];
次に、それをナビゲーション スタックにプッシュできます。たとえば、次のようになります。
[self.navigationController pushViewController:anotherViewController animated:YES];
汎用に変更されたのは、アプリでこれを行う方法です...
UIStoryboard *alternateStoryboard;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
alternateStoryboard = [UIStoryboard storyboardWithName:@"Alternate_iPad" bundle:nil];
} else {
alternateStoryboard = [UIStoryboard storyboardWithName:@"Alternate_iPhone" bundle:nil];
}
AlternateController *altController = [alternateStoryboard instantiateInitialViewController];
[altController setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self presentModalViewController:altController animated:YES];
あなたのアプリが iPhone または iPad のみの場合は、次のように縮小できます。
UIStoryboard *alternateStoryboard = [UIStoryboard storyboardWithName:@"Alternate" bundle:nil];
AlternateController *altController = [alternateStoryboard instantiateInitialViewController];
[altController setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self presentModalViewController:altController animated:YES];
必要な表示スタイルに合わせて、最後の 2 行を変更することをお勧めします。