3

設定アプリケーションに似たカスタム設定ビューを作成したいと考えていますが、UI をより細かく制御し、一部の設定にアクセスできます (一部の設定をロックする必要があります)。

明らかに、アプリケーションの UITableView の各行にはさまざまな UI 要素が混在しています。たとえば、「機内モード」設定には UISwitch が表示されますが、「Wi-Fi」設定には開示記号 (「>」) に隣接するテキスト値があります。さらに複雑なのは、これらの設定のグループ化です。

取るべきアプローチについて、いくつかの一般的な質問があります。

  • 設定の名前、その現在の値、そのグループ化、およびその値を変更するために必要な UI 要素のタイプを保存する必要があるようです。[NSUserDefault standardUserDefaults] を使用したいのですが、これらの設定が設定アプリケーションに表示されません。独自の設定永続性クラスを作成する必要があると思います。

  • これらの複雑な UI 要素の組み合わせをコードで作成するのと、UITableViewCell に基づいて一連のカスタム ビューを作成して適切なビューを読み込むのとでは、どちらがよいでしょうか? 私は後者を推測しています。

  • 一部の設定では、別のビューを読み込んでその値を選択する必要があります。アプリケーションが Utility パターンに基づいていると仮定すると、SettingsView はナビゲーション スタックを管理する必要があります。

お時間とコメントをいただきありがとうございます。

クレイグ・ブキャナン

4

2 に答える 2

4

アプリで Settings.bundle を表示するだけの場合は、 http://www.inappsettingskit.com/の InAppSettingsKit を参照することをお勧めします。または、少なくともフレームワークを出発点として使用することもできます。

あなたの一般的な質問に関しては、ここに私の見解があります:

  • 永続化のために、NSPropertyListSerialization または NSDictionary の writeToFile:atomically を使用して、設定の NSDictionary をアプリのドキュメント フォルダー内の plist ファイルに単純に永続化することをお勧めします。

  • 一連のカスタム nib を作成し、ビューがロードされたらキャッシュすることをお勧めします

  • 設定ビューでナビゲーション スタックを管理することは間違いありません。これにより、設定ビューを他のプロジェクトで簡単に再利用できます。

于 2010-03-16T14:39:52.457 に答える
2

別の「アプリ設定内」オープン ソース プロジェクトを 次に示します。mySettingsは別のオプションです...

于 2010-04-27T21:56:00.987 に答える