条件に合わせてアプリのテーマ(UILabelのフォント色やUIImageviewの画像)を変更しようとしています。
私は1つの条件をチェックしています.0の場合、アプリケーションのラベル全体が赤色でなければならず、それ以外の場合はUIImageview画像と同様に青色でなければなりません。
2セットの画像があります。条件に基づいて、画像も変更する必要があります。
誰でも始めるためのアイデアを教えてください..
ありがとうございました..
条件に合わせてアプリのテーマ(UILabelのフォント色やUIImageviewの画像)を変更しようとしています。
私は1つの条件をチェックしています.0の場合、アプリケーションのラベル全体が赤色でなければならず、それ以外の場合はUIImageview画像と同様に青色でなければなりません。
2セットの画像があります。条件に基づいて、画像も変更する必要があります。
誰でも始めるためのアイデアを教えてください..
ありがとうございました..
すべてのビューコントローラーのviewWillAppear
メソッドで、サブビューを反復処理し、ビューがタイプの場合はテキストカラーをUILabel
変更します。同様にUIImageView
for (UIView *child in view.subviews)
{
if([child isKindOfClass:[UILabel class]])
{
UILabel *lbl = (UILabel*)child;
lbl.textColor = [UIColor redColor];
}
}
試したことはありませんが、これでうまくいくはずです。
UILabel
メソッドが必要なカテゴリを追加できます
-(UIColor *)labelColor {
//depend on ur condition, return the color
}
すべてのラベル宣言で、フォントの色を次のように設定します。
lbl.textColor = [lbl labelColor];
についても同様ですUIImageView
。
アップデート:
Xcode を使用して、タイプ Cocoa-Touch Objective C カテゴリの新しいファイルを作成します。
ファイルに次のような名前を付けることができUILabel+Color
、インターフェースは次のようになります
@interface UILabel (Color)
-(UIColor *)labelColor;
@end
.m ファイルで、上部に記載されているメソッドを実装します。
カテゴリの詳細については、このチュートリアルとApple のドキュメントを参照してください。
最善の方法は、ラベル/画像/ボタン、UI オブジェクトのプロパティを作成/変更するシングルトン クラスを作成することです。
すべての UI オブジェクトに対してこのクラスのメソッドにアクセスするだけで済みます。複数行のコードを何度も書く必要はありません。:)