我创建了一个带有桌子的iPhone应用程序,当选择了一行时,该桌面会推送标准的详细视图.xib。我已经成功地能够从我拥有的plist中填充该nib文件中的几个UILabel的文本值,这是一个字符串字典数组。因此,对于所选的每个表行,详细视图将使用单个字典中包含的信息填充这些标签,因为UILabel链接到plist中的键。我想知道是否可以根据该plist中每个字典中的一个键来改变每个UILabel的颜色。
例如: 表格行1按下UILabel 1为红色,UILabel 2为橙色,UILabel 3为黄色,依此类推的视图。 表格行2推送的视图中UILabel 1为紫色,UILabel 2为棕色,UILabel 3为蓝色,依此类推。
我希望能够在每个字典中定义每个标签的颜色。
必须有办法做到这一点! 非常感谢你的帮助!
答案 0 :(得分:2)
是的,你可以这样做。你需要定义这个结构的字典(这只是一种方式):
Root Dictionary
-UILabelA
Red -> 143
Green -> 225
Red -> 002
-UILabelB
Red -> 243
Green -> 235
Red -> 235
-UILabelc
Red -> 198
Green -> 025
Red -> 111
然后,假设您需要UILabelA的颜色。你所做的就是:
NSDictionary *labelADict = [[NSDictionary dictionary] objectForKey:@"UILabelA"];
//Then create the color
float red = [[labelADict objectForKey:@"Red"] floatValue] / 255.0f;
float green = [[labelADict objectForKey:@"Green"] floatValue] / 255.0f;
float blue = [[labelADict objectForKey:@"Blue"] floatValue] / 255.0f;
UIColor *color = [UIColor colorWithRed:red
green:green
blue:blue
alpha:1.0];
[labelA setTextColor:color];
您可以为每个表格/单元格动态执行此操作。