4

我正在开发 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。请给我一些想法。

4

3 回答 3

9

非常简单。
在 AppDelegate.h 中:

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

在视图控制器中:

#import "AppDelegate.h"

self.view.backgroundColor = kGlobalColor;
于 2012-11-21T12:54:35.533 回答
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];

当你想使用它时,只需导入常量文件,其他明智的 2 选项如下。

第二种选择

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;
于 2012-11-21T12:56:03.020 回答
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];
 }
于 2012-11-21T12:56:26.340 回答