こんにちは、2 つのストーリーボード ファイルを作成しましたが、それらを切り替える方法がわかりません。1 つのストーリーボード内で切り替えるには、識別子を設定し、次のコードを使用します。
[self performSegueWithIdentifier:@"identifier" sender:self];
このコードを使用してストーリーボードを切り替えると、アプリがクラッシュします。
助けてください
こんにちは、2 つのストーリーボード ファイルを作成しましたが、それらを切り替える方法がわかりません。1 つのストーリーボード内で切り替えるには、識別子を設定し、次のコードを使用します。
[self performSegueWithIdentifier:@"identifier" sender:self];
このコードを使用してストーリーボードを切り替えると、アプリがクラッシュします。
助けてください
ストーリーボードでストーリーボード参照を使用して、セグエの宛先を別のストーリーボードのビュー コントローラーに設定できます。ストーリーボード参照をオブジェクト ライブラリからソース ストーリーボードにドラッグします。宛先ストーリーボードの名前と、そのストーリーボード内の宛先ビュー コントローラーの識別子を使用して構成します。その後、参照をソース ストーリーボードのセグエの宛先として使用できます。
詳細については、ストーリーボード ヘルプの「別のストーリーボードへの参照の追加」を参照してください。
UIStoryboard Class Referenceを見てください。
を使用して名前でストーリーボードをロードできます+[UIStoryboard storyboardWithName:bundle:]
。ストーリーボード オブジェクトを取得したら、instantiateInitialViewController
またはinstantiateViewControllerWithIdentifier:
. 次に、View Controller を使って、モーダルに表示したり、Navigation Controller にプッシュしたり、Tab Bar Controller に追加したりできます。
異なるストーリーボードのシーン間にセグエを作成することはできないため、performSegueWithIdentifier:sender:
あるストーリーボードのシーンから別のストーリーボードのシーンに移行するために使用することはできません。
私は自分の質問に対する答えを見つけました!
私の問題のコードは次のとおりです。
-(void)viewDidLoad {
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height == 480){}
if(result.height == 568){[self performSelector:@selector(inch4) withObject:nil afterDelay:0];}}}
-(void)inch4 {
UIStoryboard *storyBoard;
storyBoard = [UIStoryboard storyboardWithName:@"iPhone4inch" bundle:nil];
UINavigationController *init4inchViewController = [storyBoard instantiateViewControllerWithIdentifier:@"MainMenu4inch"];
[self presentModalViewController:init4inchViewController animated:NO];
}
ストーリーボード ファイルを切り替えるコードは次のとおりです。
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"storyboard2" bundle:nil];
[self presentModalViewController:[storyboard instantiateViewControllerWithIdentifier:@"storyboard2initialviewcontroller"] animated:NO];
迅速に、これは以下のように簡単です。:)
let sb = UIStoryboard(name: "DestinationStoryboard", bundle: nil)
let vc = sb.instantiateInitialViewController() {
present(vc, animated: true, completion: nil)
}