如何以编程方式更改全局色调颜色?

jim*_*bob 6 xcode tint storyboard ios uistoryboard

我的项目需要在2个不同的全局色调值之间切换.我该如何以编程方式执行此操作?

Leo*_*ica 8

更改UIWindow应用程序的色调颜色.你可以使用[[UIApplication sharedApplication] keyWindow]但更好的是使用[[UIApplication sharedApplication] delegate].window.


Gon*_*nzo 8

UIAppearance是答案!它将属性设置为该类(和子类)的所有对象.

[[UIView appearance] setTintColor:(UIColor *)]
Run Code Online (Sandbox Code Playgroud)

您也可以更改backgroudColor所有按钮

[[UIButton appearance] setBackgroundColor:(UIColor *)]
Run Code Online (Sandbox Code Playgroud)

  • `UIView`的`tintColor`没有`UI_APPEARANCE_SELECTOR`.参见`UIView.h`. (4认同)
  • 好的,现在我确信.谢谢:) UIWindow tintColor是要走的路 (3认同)
  • 创建后,此方法不会更改现有控件的色调颜色.如果@jimbob需要在运行时更改色调颜色,则设置窗口的色调颜色是更好的选择. (2认同)