1

数週間前に iOS でプログラミングを始めたばかりなので、これらの質問が本当に基本的なものである場合は申し訳ありません。

短い話: 多くの顧客データを取得する必要がある CRM アプリを設計しています。タブ付きフォームを使用するデスクトップ アプリをエミュレートしようとしています。これを iPad に実装する (技術的および視覚的に) 最良の方法は何でしょうか?

次のものが必要です。

  • 各タブ (5 ~ 6 個) には、さまざまなタイプの多数のフィールド (ラベル付き) が含まれており、専用のコントロール (uidatepicker、uipickerview/uisegmentedcontrol、textarea+stepper、switch など) を使用したいと考えています。生のテキストフィールドのみ
  • 理想的には (実際にはこれは非常に重要な要件です)、モデルの変更によって IB のフォームを手動で調整する必要がないように、UI をプログラムで生成する必要があります。
  • 現在のタブに既に入力されているデータを失うことなく、タブを切り替えることができます。

これまでの私の進捗状況、再。全体的なスイッチング メカニズム:

  • 私は当初、Matthias のコメントで説明されているように、タブ スイッチャーをセグメント化されたコントロールとして実装し、異なるビューを切り替えることを考えていまし。ただし、必要に応じて VC をインスタンス化すると、既に入力されているデータが失われることになります (何らかのキャッシュを実装しない限り、もっと簡単なものを望んでいます)。

  • プログラムでビューを表示/非表示にすることでビューを切り替える、より簡単なアプローチを検討していますが、これはメモリを使いすぎるのではないかと心配しています (合計で 100 以上のフィールドを見ている可能性があります)。

各タブ内のフォーム フィールドの表示については、次のようになります。

  • それらをIBで手動でレイアウトすることもできますが(またはテーブルビューの静的セルとして)、基本的にUIがハードコードされて変更が難しいことを意味するため、そうしないことをお勧めします
  • プログラムでインターフェースを作成したいのですが、さまざまなフィールドタイプの処理、ポップアップの添付 (日付フィールドの日付ピッカーなど)、フィールドイベントの処理などがどれほど簡単かわかりません.

誰かが私が使用できるポインタを持っていれば、本当に感謝しています.

ティア、ルシアン

4

1 に答える 1

0

必要に応じて非表示/表示するサブビューを持つ1つのビューを所有し、1つのView Controllerで正しい軌道に乗っていると思います。

大まかに:

  • タブボタンを含み(これには通常のUIButtonを使用)、複数のUIViewを所有する1つの最上位UIView
  • 各 UIView には、各「タブ」に必要なフィールドがあります

次に、タブを切り替えるには、1 つのビューを非表示にして別のビューを表示するだけで、すべてうまくいきます。

メモリの消費については心配しません。iPad には、何百もの UI コントロールを格納するのに十分なメモリがあります。大量のカスタム グラフィックスを実行するとは思わないからです。メモリが不足している場合は、タブごとに必要に応じてコントロールをいつでも作成できます。タブを切り替えるのに少し時間がかかりますが、機能します。

プログラムによるレイアウトに関しては、これは完全に可能です。iPad UI を作成するときは、2 つの基本的なオプションがあります。XIB ファイル (XCode のグラフィカル デザイナーを使用して設計) を使用するか、通常は-viewWillAppearまたはのコードで実行します-viewDidLoad。関連するすべてのことを実行できます。各 UI コントロールのドキュメントを参照して、構成方法を理解してください。

于 2012-05-25T14:50:06.390 に答える