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