1

私は現在、次のような小さなアプリケーションを設計しています。-1つのメニュー(グラフィックボタン)-1つのコンテンツ(基本的にはビュー)各ボタンのポップオーバーとして表示する

ユーザーがUIButtonに触れると、 Interface Builderで設計された(そして独自のView Controllerによって駆動される)コンテンツがUIPopoverControllerに表示されます。ユーザーは、いくつかのUISwitchを切り替え、いくつかのUISlidersをスライドさせてから、外側(または検討対象のUIPopoverControllerのコンテンツのUIButtonを閉じる)をクリックしてUIPopoverControllerを閉じます。

もちろん、ユーザーが同じボタンに触れると、UIPopoverControllerが表示され、以前の値が新たに変更されます。

質問1: データをどこに保存するか(実行時に意味します)? うまく準備された各コンテンツUIには独自のViewControllerがあるため、より自然な方法でそれらを配置することができます。しかし、UIPopoverControllerを閉じると、データも閉じられます...

質問2: UIPopoverControllerに(以前のユーザーまたはロジックの変更から)最新のデータをプルさせるにはどうすればよいですか?

ベストプラクティスに関するリードをいただければ幸いです

4

1 に答える 1

1

あなたがしなければならないように聞こえるのは、ポップオーバーがデータを保存していることを示す役割を担うメインビューコントローラーを持っていることです。役立つはずのいくつかのこと:

  • メインのViewControllerで、 UIPopoverControllerDelegate Protocolを実装し、それをポップオーバーのデリゲートにします。
  • ビューコントローラにいくつかのプロパティを実装して、それらの値(スイッチの状態、スライダーの値など)を取得および設定できるようにします。
  • ポップオーバーコントローラーを閉じようとしているとき(デリゲートメソッドを実装するとき- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController)、ポップオーバー内のナビゲーションコントローラーから保存するデータを取得します。
  • ポップオーバーが表示される前に、View Controllerのすべてのプロパティを設定します。これにより、最新のデータが表示されます。
于 2012-04-30T19:53:52.053 に答える