有没有办法为所有视图设置相同的背景图像?
在所有viewDidLoad:
方法中设置相同的背景。这不酷。
答案 0 :(得分:9)
你可以创建一个自定义类,让我们称之为TemplateView,它是UIView的子类。 然后使用xib / storyboards选择控制器视图和身份检查器,将Class属性更改为“TemplateView”。
随后使用UIAppearance将模板视图的背景颜色更改为所需的颜色。
[[TemplateView appearance]setBackgroundColor:[UIColor blueColor]];
这将更改项目中每个模板视图的背景颜色。 我认为这是比
更好的解决方案[[UIView appearance] setBackgroundColor:[UIColor redColor]];
因为我们不会改变所有内容的背景,只是我们的自定义类。 希望它会有所帮助。
答案 1 :(得分:2)
是的,在iOS5 +中使用UIAppearance
:
[[UIView appearance] setBackgroundColor:[UIColor redColor]];
注意:UIView
符合<UIAppearance, UIAppearanceContainer>
协议,但由于某种原因未将任何属性标记为UI_APPEARANCE_SELECTOR
。
答案 2 :(得分:0)
我认为这不是一个好主意,但如果你真的想这样做,你可以这样做:
- (void)setBGColor:(UIColor *)color forAllSubviewsOf:(UIView *)view
{
[view setBackgroundColor:color];
for (UIView *sub in view.subviews)
[self setBGColor:color forAllSubviewsOf:sub];
}
答案 3 :(得分:0)