2

我想知道是否可以用几行代码更改我的应用程序中按钮的默认颜色?手动更改每个按钮的颜色可能真的很无聊。特别是如果你有很多。

例如,我希望我的所有按钮都是橙色而不是原来的白色。

提前谢谢你,伊利亚。

4

2 回答 2

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
    }
  }
}
于 2009-03-12T23:15:45.093 回答
1

我建议创建 UIButton (MyCustomButton) 的子类,并在子类的构造函数中应用您想要的任何风格元素。

如上所述将 UIButtons 传递给某种“StyleManager”比说更好的方法

button.backgroundColor = [UIColor orangeColor];

但你仍然必须通过你的代码并说出类似的东西

[StyleManager applyStyles:viewThatContainsButton];

这将将样式应用到代码库中的每个控制器和某些视图元素的解决方案传播开来。创建子类可以让您使用一行代码应用样式,而不是每个视图一行。

将您的问题的解决方案收集到一个类中可以消除这种解决方案的蔓延,并且还应该减少维护工作。

于 2009-05-17T23:55:49.167 回答