使用UIAppearence更改UIViewController的直接子视图的背景颜色

时间:2013-12-01 05:28:50

标签: ios iphone cocoa uiappearance

我想更改所有UIViewController视图的背景颜色。我的项目中有几个UIViewController个类,我希望使用UIAppearence设置所有视图的相同背景。

我尝试了以下代码:

[[UIView appearance] setBackgroundColor:
    [UIColor colorWithPatternImage:[UIImage imageNamed:@"BackgroundImage"]]];

但它改变了每个UIView的背景颜色,包括(UIButtonUIView子类和UILabels等。)

有没有办法处理这种情况,所以我只能改变UIViewController视图的背景颜色?我google了很多,但我没有找到任何相关的解决方案。

任何帮助都将受到高度赞赏。

谢谢..

1 个答案:

答案 0 :(得分:-1)

嗯,我认为最好是子类UIViewController并在viewDidLoad中设置backgroundColor。但是如果你想使用UIAppearance,你可以这样做:

id proxy = [UIView appearanceWhenContainedIn:[UIViewController class],nil];
[proxy setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"BackgroundImage"]]