如何使用UIColor类设置全局变量

时间:2012-11-21 12:46:25

标签: iphone global-variables uicolor uibackgroundcolor

我正在开发iPhone应用程序。在这个应用程序中我有4个不同的意见。在所有视图中我设置了背景颜色。见下面的代码

self.view.backgroundColor = [UIColor colorWithRed:(238.0f/255.0f) green:(251.0f/255.0f) blue:(255.0f/255.0f) alpha:0.8f];

我正在测试各种颜色的背景颜色。当我必须改变任何颜色我需要在所有视图控制器中更改。而不是我可以为此制作全局变量?我不知道如何在全局变量中设置UIColor。请给我一些建议。

3 个答案:

答案 0 :(得分:9)

很简单。
在AppDelegate.h中:

#define kGlobalColor [UIColor colorWithRed:(238.0f/255.0f) green:(251.0f/255.0f) blue:(255.0f/255.0f) alpha:0.8f]

在ViewControllers中:

#import "AppDelegate.h"

self.view.backgroundColor = kGlobalColor;

答案 1 :(得分:0)

创建constant.h NSObject文件并全局定义此颜色

#define globalColor [UIColor colorWithRed:(238.0f / 255.0f)green:(251.0f / 255.0f)blue:(255.0f / 255.0f)alpha:0.8f];

当你想要使用它时只需导入常量文件另外两个选项是下面的..

第二个选项

AppDelegate.h文件中的

只是属性合成一个UIColor的变量,如下面的..

@interface AppDelegate : UIResponder <UIApplicationDelegate>{
   ///your Data
   UIColor *globalColor;
}

@property (nonatomic,retain)  UIColor *globalColor;

并在.m文件中合成,如下文..

@syntesize globalColor;

并且在didFinishLaunchingWithOptions方法中只为此变量设置颜色..

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
         globalColor = [UIColor colorWithRed:(238.0f/255.0f) green:(251.0f/255.0f) blue:(255.0f/255.0f) alpha:0.8f];

}

当你想使用这种颜色时就像这样..

    AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
   self.view.backgroundColor = appDelegate.globalColor;

答案 2 :(得分:0)

比使用全局变量更好的是扩展UIColor。使用构造函数创建一个类别,提供颜色:

的UIColor + mycolor.h:

@interface UIColor (mycolor)
+ (UIColor*) myColor;
@end

的UIColor + mycolor.m:

+ (UIColor*) systemBlue
{
return [UIColorcolorWithRed:(238.0f/255.0f) green:(251.0f/255.0f) blue:(255.0f/255.0f) alpha:0.8f];
 }