私は自分のiPhoneアプリをスキン(またはデザインテーマ、または木製、金属、アースカラー、男性、女の子などのルックアンドフィール)に切り替えることができるようにしたいと考えています。iOSアプリでスキン(またはテーマをデザイン)を切り替えるにはどうすればよいですか?
ボタンと背景、サウンド、テキストの色の画像を含むスキンセットをいくつか準備し、アプリケーション設定で使用するスキンセットをユーザーに決定させます。
これを実装するベストプラクティスは何ですか?
条件は以下のとおりです。
- は私がiOSの3.1.3以降
- 私はスキンのセットは、インターネットからダウンロードしたいをサポートする必要がInterface Builderの
- を使用したいです(私はアプリのすべてのスキンを束ねることはできません。スキンのセットがたくさんのイメージを必要とするため、アプリファイルのサイズが大きくなる可能性があります...特定のスキンについての情報をハードコードしたくない。)
- カスタムスキンに1つまたはいくつかの要素が含まれていない場合(たとえば、画像o rサウンドファイル)、デフォルトのスキンセットの欠落要素を使用します。
- 私は各スキンにNibファイルを作成したくありません。 1つの画面用のNibファイルはメインバンドル内の唯一のもので、メンテナンスが容易です。
私のアプリですべてのUIViewControllerのスーパークラスを作成し、Nibファイルをロードする部分をオーバーライドし、メインバンドルからロードする代わりに、保存されているスキンからリソースをロードすることを考えていますドキュメントディレクトリ...しかし、私はそれを行う方法がわかりません... Nibローディングメソッドのデフォルトの動作は、常にメインバンドルからリソースを読み込み、読み込んだ後にリソースファイル名に関する情報が失われます:あなたの助けを事前に(
感謝。
ここにiOSアプリをスキンする方法については非常に詳細な説明があります:http://stackoverflow.com/questions/8919334/how-to-create-multiple-themes-skins-for-iphone-apps?rq= 1また、ペン先の塗装方法についても説明しています。 iOS 5から。 –
下記のライブラリをご覧になれます。https://github.com/charithnidarsha/MultiThemeManager –