有没有办法将自定义颜色存储在文件中,并从iOS中的代码访问它们?
我是一个iOS新手,但我有一些Android的编程经验。 我记得在Android中,你可以在你的代码中使用的colors.xml文件中定义一组自定义的颜色,因此,每次必须在某处应用程序时,都不需要定义新的颜色。
我的问题是:iOS中是否存在类似的机制? 我在整个互联网search一种方法来创build自定义颜色一次在一些文件,并在我的iOS应用程序中使用它们,但没有发现任何东西。
提前致谢。
正如vokilambuild议的那样,使用UIColor
创build一个类别并通过类别内部的类方法添加自定义颜色总是很好。 在一个class级里面有颜色的轨迹是非常方便和容易的。 就像是:
在Xcode中,文件 – >新build – >新build – >文件…cocoa触摸 – > Objective-C类别 – >下一步 – >在“类别”列表中selectUIColor – >给类别的名称 – – >下一步 – >创build
这给你.h和.m文件…在你的.h文件中,添加一个自定义的颜色方法
+(UIColor *)customLightGreenColor;
在.m文件中,你可以实现类似的方法(你有不同的选项来设置你的颜色):
+(UIColor *)customlightGreenColor { UIColor *lightGreenColor = [UIColor colorWithRed:0.5 green:0.87 blue:0.0 alpha:1.0]; return lightGreenColor; }
同样,您可以在您的类别中添加任意数量的颜色,并在您的应用程序中使用它。 希望这能让你高高兴起
您可以使用类别扩展UIColor类,并在其中定义和实现颜色。 像[UIColor blackColor]
。
事实上,您可以从特定的颜色名称进行抽象,并使用方法名称,如primaryColor
, secondaryColor
, defaultTextColor
, alternativeTextColor
, inverseTextColor
等。
按照以下步骤创build一个资源文件,在其中保留你的颜色和值:
1.在您的项目资源中创build并添加一个plist
文件。
2.将plist
types设置为array
。 添加不同的颜色作为array elements
。
3.将每种颜色(数组元素)的type
设置为dictionary
。
4.在每个元素中添加一个string
项目来设置每个项目的color name
。
5.添加3个float items
作为Red, Green, Blue
存储RGB color values
。
你可以使用你的颜色文件,只要你想要的代码如下:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *colorsPlistPath = [documentsDirectory stringByAppendingPathComponent:@"Colors.plist"]; NSMutableArray *colors = [NSMutableArray arrayWithContentsOfFile:colorsPlistPath]]; //get color and their properties like: NSDictionary *aColor = [colors objectAtIndex:0]; NSString *colorName = [aColor objectForKey:@"Color_Name"]; float redValue = [aColor floatForKey:@"Red"]; float greenValue = [aColor floatForKey:@"Green"]; float blueValue = [aColor floatForKey:@"Blue"]; UIColor *color = [UIColor colorWithRed:redValue/255.0f green:greenValue/255.0f blue:blueValue/255.0f alpha:1.0];
如果您已经知道如何创build和使用plist文件作为资源,那么整个过程对您来说会更容易。