2011-08-02 22 views
2

我创建了一个带有表格的iPhone应用程序,当选中一行时,该表格将推送标准详细视图.xib。我已经成功地从plist中获得了几个UILabel的文本值,这是一个字符串字典数组。因此,对于选定的每个表格行,详细视图将使用包含在单个字典中的信息填充这些标签,因为UILabels链接到plist中的键。我想知道是否可以根据该plist中每个字典中的一个键来更改每个单独UILabel的颜色。Obj-C,基于plist值设置UILabel的颜色?

举例: 表格1按下了一个视图,该视图的UILabel 1为红色,UILabel 2为橙色,UILabel 3为黄色,依此类推。 表格2按下了一个视图,该视图具有紫色的UILabel 1,棕色的UILabel 2,蓝色的UILabel 3等等。

我希望能够在每个字典中定义每个标签的颜色。

有一种方法可以做到这一点! 非常感谢您的帮助!

回答

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]; 

你可以为每个表/单元动态地做到这一点。