storbyboardを使用してユーザーフローを画面から画面にマッピングしてきましたが、プログラムでユーザーをあるコントローラーから別のコントローラーにリダイレクトする必要があります。
私はそれを行う方法を調べようとしましたが、これを正しく表現する方法がわからないこともあり、あまり見つかりません:)
Androidでは、新しいIntentオブジェクトを作成して、他のどの画面に移動するかを指示するのと同じくらい簡単ですが、iOSでこれを行うにはどうすればよいですか?
ありがとうございました!
UIStoryboard クラスを確認してください。
メインのストーリーボードから - (id)instantiateViewControllerWithIdentifier:(NSString *)identifier を使用して新しいコントローラーを作成してみてください。
その後、通常どおり新しいView Controllerを使用できます。
[編集]
LoginController *loginController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"LoginController"];
[self presentModalViewController:loginController animated:YES];
LoginController に「LoginController」の識別子を与える必要があります。
「MainStoryboard」はメイン ストーリーボードのデフォルト名です。
[編集] メイン ストーリーボードの名前は、plist ファイルに「メイン ストーリーボード ファイル ベース名」(UIMainStoryboardFile) としてリストされます。
LoginController の識別子を設定するには: xcode でストーリーボードを見ている場合は、「Login Controller」View Controller (Login Controller Scene の下に表示) を選択し、Utilities ペイン (右側のペイン) とその下にある属性インスペクタを表示します。 View Controller セクションに Identifier フィールドが表示されます。これを「LoginController」に設定します - 上記の例の場合
あなたはこのようなものを使うことができます、私はしばらく前にこれと同じ問題に遭遇しました、そしてこれは私が使ったものです。
[self presentModalViewController:yourviewController animated:YES]
ターゲット コントローラーがストーリーボードにある場合は、2 つのコントローラーの間に名前付きセグエを作成します。ある場所から別の場所に移動する必要がある場合は、 を使用しますperformSegueWithIdentifier:sender:。(詳細については、そのメソッドの UIViewController ドキュメントを参照してください。)