0

私はあなたが私を助けることができるかどうか疑問に思っていました. 私は 5 つの UIView コントローラーを持つアプリを開発しています。それぞれに入力するフィールドがあります。ページの下部に、各コントローラーに 1 つずつ、5 つのボタンを持つ下部バーを作成しました。

私が欲しいのは次のとおりです。ユーザーが VC_1 の半分を入力してから VC_2 に移動し、ここでいくつかのフィールドに入力してから、VC_1 または新しい VC3 に戻り、前の進行状況がまだ残っている場合。

ボタンを押すたびに「presentViewController」を使用してこれを試しましたが、1に戻ると、おそらく現在のviewControllerの上にviewControllerがスローされるため、すべてのフィールドが空になります。データが削除されない 1 つの方法は、dismissViewController を使用する場合ですが、これは常に VC_1 に戻り、VC_3 から VC2 に戻りたい場合は機能しません。

私の質問が理にかなっており、上記の目的をどのように達成できるかを説明していただければ幸いです。

乾杯、 レナート

4

4 に答える 4

2

ここに役立つ2つのアイデアがあります

  1. どのビュー コントローラーよりも長く持続するモデルを作成して使用します。
  2. を使用する必要があるようですUITabBarController

アイデア1の場合、データを保存するときはいつでも、ビューコントローラーとは別のクラスを作成してデータを保持します。ビュー コントローラのインスタンスを作成するときは、そのデータ オブジェクトをビュー コントローラに割り当てます。次に、ビューが読み込まれたら、データ オブジェクトのデータを使用してフィールドに入力します。ユーザーがいずれかのコントロールを変更したら、データ オブジェクトを更新します。Model-View-Controllerを参照してください。

アイデア 2 では、タブ バー コントローラーを使用すると、すべてのビュー コントローラーのアクティブなインスタンスが保持されます。そうすれば、それらの新しいインスタンスを作成する必要がなくなります。

于 2014-09-16T01:33:27.223 に答える
1

UITabBarControllerがあなたの友達のようです。ビューの表示と非表示を管理します。

于 2014-09-16T01:31:20.227 に答える