1

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

4

2 回答 2

1

Yes simply hook up an action and whenever the UIButton is pressed call:

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;

These lines of code basically generate random RGB numbers and turnes the views color to that color.

To change the other view controllers view:

yourViewController.view.backroundColor = color;
于 2013-08-26T15:11:57.753 回答
1

您可以创建一个单例类(例如AppearanceManager),您将在其中保留currentTheme. 通过您的按钮操作,您可以将此主题设置为您想要的任何内容。您还可以覆盖此变量的设置器,并发布一个notification指示主题已更改的内容。

于 2013-08-26T15:10:14.610 回答