如何在我的应用程序中实现按钮,以便每次用户按下它时,整个应用程序默认颜色都会更改

时间:2013-08-26 15:04:43

标签: ios button colors themes default

正如标题所说,  我想实现一个按钮,所以当用户按下一次时,一般的默认颜色会改变。假设用户按下按钮一次并且应用主题变为绿色,再次按下时,主题变为红色并再次按下它将返回到初始主题颜色。 有没有人有一个快速的例子?在谷歌上,当我搜索上面的内容时,我得到的就是如何改变按钮的颜色。 提前谢谢!

2 个答案:

答案 0 :(得分:1)

您可以创建一个单身类(例如AppearanceManager),然后保留currentTheme。从您的按钮操作,您可以将此主题设置为您想要的任何内容。您还可以覆盖此变量的setter,并发布notification,表示主题已更改。

答案 1 :(得分:1)

是的,只需勾起一个动作,每当按下UIButton时,请致电:

CGFloat red =  (CGFloat)arc4random() / (CGFloat)RAND_MAX;
CGFloat blue = (CGFloat)arc4random() / (CGFloat)RAND_MAX;
CGFloat green = (CGFloat)arc4random() / (CGFloat)RAND_MAX;
UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:1.0];
self.view.backgroundColor = color;

这些代码行基本上生成随机RGB数字,并将视图颜色转换为该颜色。

要更改其他视图控制器视图:

yourViewController.view.backroundColor = color;