0

メイン ビューと関連するビュー コントローラーで構成される iPad アプリがあり、派手なグラフィックを描画します。描画されるものは、現時点ではメインのビュー コントローラー クラスに格納されている多数のパラメーター (ほとんどがフロート) によって制御されます。メイン ビューは、drawRect 内のパラメーターを要求します。

ポップオーバー メニュー内のスライダーからメイン ビューをライブ更新したいと考えています。ただし、ポップオーバーには、スライダーを含むカスタム UITableViewCells を含む UITableViewController を含む UINavigationController が含まれているため、適切なコントロールを適切なデータ変数に関連付けるメッセージを取り戻すのは面倒です。また、最初に表示されたときにデータを使用してスライダーの位置を初期化する必要があるため、メッセージは双方向に移動する必要があります。

したがって、私の主な質問は、スライダーの変更情報をメイン ビュー コントローラーに送り返し、メイン ビューをライブ更新するエレガントな方法は何かということです。デリゲートを使用する必要があることはわかっていますが、おそらく 30 個のパラメーターがあるため、多くのセレクターを作成することになり、メインのデリゲート ターゲットに関する情報をビュー コントローラー スタックに伝達する方法がわかりません。

4

2 に答える 2

2

全体的な構造を知らずに言うのは難しいですが、これを行うにはおそらく NSNotification を使用します。通知によってどこからでもどこにでもアクセスでき、userInfo で NSDictionary を渡すことができます。これには、(NSNumber に変換された) 必要な数の float を含めることができます。

于 2013-02-10T22:48:04.217 に答える
1

私は NSNotifications ではこれを行いません。

代わりに、それぞれがメイン ビュー コントローラーへの参照を取得する最終的な UITableViewController まで、階層内のすべてのコントローラーに対してカスタム ビュー コントローラーを作成するだけです。そのように、プロパティを直接取得および設定できます。

ただし、メイン コントローラーへの参照を UITableViewCells 自体に渡すのではなく、テーブル ビュー内のプロパティの設定と取得を処理することに注意してください。ただし、これはスタイルの問題である可能性があります。

于 2013-02-10T23:49:48.563 に答える