18

すべてのビューに同じ背景画像を設定する方法はありますか?

viewDidLoad:すべてのメソッドで同じ背景を設定します。かっこいいじゃない。

4

4 に答える 4

11

カスタム クラスを作成できます。それを TemplateView と呼びましょう。これは UIView のサブクラスです。次に、xib/storyboards を使用してコントローラー ビューを選択し、ID インスペクターで Class プロパティを 'TemplateView' に変更します。

その後、UIAppearance を使用して、テンプレート ビューの背景色を目的の色に変更します。

 [[TemplateView appearance]setBackgroundColor:[UIColor blueColor]];

これにより、プロジェクト内の各テンプレート ビューの背景色が変更されます。よりも良い解決策だと思います

[[UIView appearance] setBackgroundColor:[UIColor redColor]];

すべての背景を変更するのではなく、カスタム クラスだけを変更するためです。それが役立つことを願っています。

于 2013-06-26T20:22:08.890 に答える
2

はい、UIAppearanceiOS5以降で使用しています:

[[UIView appearance] setBackgroundColor:[UIColor redColor]];

注:プロトコルUIViewに準拠していますが、何らかの理由で<UIAppearance, UIAppearanceContainer>プロパティをマークしていません。UI_APPEARANCE_SELECTOR

于 2012-11-15T13:49:20.303 に答える
0

これは良い考えではないと思いますが、本当にこれを実行したい場合は、次のようなことを行うことができます。

- (void)setBGColor:(UIColor *)color forAllSubviewsOf:(UIView *)view
{
    [view setBackgroundColor:color];
    for (UIView *sub in view.subviews)
        [self setBGColor:color forAllSubviewsOf:sub];
}
于 2012-11-15T13:50:00.883 に答える