2

さて、これまでのところ、ストーリーボードには2つのビューコントローラーがあります。1つは「ログイン」要素を持ち、もう1つは「ユーザーの家」のようなものです。私は次のことを行うつもりです:ユーザーがログインをクリックすると、少し処理が行われ、ユーザーのホーム画面に表示されます。

ストーリーボードを介してそれを行う場合、つまり=コントロールドラッグ「ログイン」ボタンをユーザーのホームビューにドラッグすると、正常に機能します。しかし、ログインデータを処理する必要があるため、これを使用することはできません。その間、いくつかのアニメーションも表示されます。だから、私はこのシフトをプログラムでやらなければなりません。ログインボタンのIBAction::に次のコードを記述しました。

HomeViewController *homeView = [[HomeViewController alloc] init];

[self presentViewController:homeView animated:YES completion:NULL] ;

これで、ユーザーは目的のビューに移動します。ただし、ホームビューの要素(ラベル、ナビゲーションバーなどは表示されません。それが私の心配です。)(理論的には、プログラムでビュー全体を作成できますが、これを行う適切な方法ではないと思います。ストーリーボードの機能を最大限に活用したい。つまり、ストーリーボードで最大のUIを設計し、バックエンドからそれらをどのように機能させたいかを使用したい。)

どうすればいいのですか ?

乾杯。

PS:ビューコントローラーをもう少し追加するつもりなので、現時点ではナビゲーションコントローラーについては考えていませんでした。わからない、私がそれを使うべきかどうか。

4

2 に答える 2

2

使用する必要があるストーリーボードの使用:

UIViewController *homeView = [self.storyboard instantiateViewControllerWithIdentifier:@"someID"];
[self presentViewController:homeView animated:YES completion:NULL] ;

次に、次のようにIDをストーリーボードのViewControllerに設定します。

ここに画像の説明を入力してください

さらに、必要に応じて、UIを完全にコードで設計することに何の問題もありません。個人的にはそれが好きです。それはあなたにインターフェースビルダーよりもはるかに多くの柔軟性を与えます。

于 2012-08-26T14:41:09.950 に答える
2

NSPostWhenIdle の の提案に加えてinstantiateViewControllerWithIdentifier、2 つのビュー コントローラー間 (ボタンと 2 番目のコントローラーの間ではなく、2 つのビュー コントローラーの間) でセグエを定義することもできます。

コントローラー間のセグエ

次に、セグエに一意の識別子を付けてから、IBActionメソッドにperformSegueWithIdentifier. このようにして、ストーリーボードはビュー コントローラー間のさまざまな関係を視覚的に表現し続けます。

于 2012-08-26T15:02:22.193 に答える