我正在开发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。请给我一些建议。
答案 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];
}