0

ユーザーが「ログイン」をタップしたときにポップオーバー ウィンドウを作成するために、iPad アプリでストーリーボードとセグエを使用しています。各ログイン タイプには独自の ViewController があり、より多くのポップオーバー コントローラーが必要です。

メイン ビュー コントローラーですべてのポップオーバー コンテンツを生成するか、1 つのポップオーバー コントローラーのコンテンツを置き換えるのは適切ですか?

たとえば(これをテキスト drawing_ で表現しようとします)

1.) MainVC -> ポップオーバー (「メールでログイン」、「Facebook でログイン」など) MainVC <- ユーザーがボタンをタップ MainVC -> ポップオーバー (メール テキスト フィールド、パスワード テキスト フィールド) MainVC <- ユーザーが入力...

2.) MainVC -> ポップオーバー (「電子メールでログイン」、「Facebook でログイン」など) ポップオーバー -> コンテンツを置換 (ビュー コントローラーをテキスト フィールドでロード) 新しいコンテンツ -> ハンドラー UITextField 入力

実装が簡単だったので、選択肢 1 を使用しましたが、選択肢 2 の方がより整理されているように見えます。より良い実践は何だと思いますか?

4

1 に答える 1

0

どちらを選択してもうまくいく可能性があり、UI に関係するものはパフォーマンスの問題ではありません。したがって、「正しい」答えは、コードの複雑さ/明確さなどの二次的な考慮事項に依存する場合があります。私は、単一のインスタンスを rutnime コードで再利用するのではなく、Storyboard で個別のインスタンスを作成することに投票します。

ビュー コントローラーを個別に設定することで、動的な制約を使用するなど、各シーンをそのコンテンツに合わせて最適にレイアウトできます。すべてがストーリーボードに文書化され、整理するランタイム コードが少なくなります。私にとっては、コードよりもストーリーボードに混乱がある方が望ましいです。優先順位が異なる場合があります。

異なるポップオーバーの ViewController が多くの動作を共有する場合は、継承を使用してコードの増殖を減らします。

于 2013-03-08T20:56:20.117 に答える