1

storbyboardを使用してユーザーフローを画面から画面にマッピングしてきましたが、プログラムでユーザーをあるコントローラーから別のコントローラーにリダイレクトする必要があります。

私はそれを行う方法を調べようとしましたが、これを正しく表現する方法がわからないこともあり、あまり見つかりません:)

Androidでは、新しいIntentオブジェクトを作成して、他のどの画面に移動するかを指示するのと同じくらい簡単ですが、iOSでこれを行うにはどうすればよいですか?

ありがとうございました!

4

3 に答える 3

4

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」に設定します - 上記の例の場合

于 2012-07-20T21:46:45.907 に答える
1

あなたはこのようなものを使うことができます、私はしばらく前にこれと同じ問題に遭遇しました、そしてこれは私が使ったものです。

[self presentModalViewController:yourviewController animated:YES]
于 2012-07-20T21:40:22.773 に答える
1

ターゲット コントローラーがストーリーボードにある場合は、2 つのコントローラーの間に名前付きセグエを作成します。ある場所から別の場所に移動する必要がある場合は、 を使用しますperformSegueWithIdentifier:sender:。(詳細については、そのメソッドの UIViewController ドキュメントを参照してください。)

于 2012-07-20T21:43:41.527 に答える