我想知道是否可以使用几行代码更改应用程序中按钮的默认颜色?手动更改每个按钮的颜色可能真的很无聊。特别是如果你有很多。
例如,我希望我的所有按钮都是橙色而不是原始白色。
提前谢谢你, 伊利亚安德。
答案 0 :(得分:3)
我担心没有全球性的设定。
可以遍历对象的所有视图和子视图,查询其类型,然后根据需要应用自定义颜色。这使您可以在应用程序中有一个地方将视图传递给所有应用程序。
喜欢的东西;
//! Applies application specific styles to UIKit objects
void applyStyles(UIView* view)
{
for(UIView* subview in view.subviews)
{
// test type of view
if([[subview class] isEqualToString:@"UIButton"] == YES)
{
// apply colors for buttons
}
else if([[subview class] isEqualToString:@"SomethingElse"] == YES)
{
// apply colors for something else
}
}
}
答案 1 :(得分:1)
我建议创建一个UIButton(MyCustomButton)的子类,并在子类的构造函数中应用您想要的任何样式元素。
如上所述,将UIButton传递给某种“StyleManager”比说
更好的方法button.backgroundColor = [UIColor orangeColor];
但您仍需要查看代码并说出类似
的内容[StyleManager applyStyles:viewThatContainsButton];
这可以将应用样式的解决方案扩展到代码库中的每个Controller和一些View元素。创建子类允许您使用一行代码应用样式,而不是每个视图一行。
将问题的解决方案收集到一个类中可以消除此解决方案的蔓延,并且还应该减少 维护 的工作量。