2013-05-30 27 views
1

我需要知道如何使用KVC设置UILabel属性,如文本颜色,字体,对齐方式等。在下面的链接中有一个关于如何设置UIButton标题标签文本的例子。 How do I change a UIButton's title using KVC?如何使用KVC设置像textcolor,font等UILabel属性?

鉴于与我曾尝试这样的:

NSDictionary *labelProperties = @{@"textColor":@"redColor", @"font":@"Helvetica"},@"frame":@"50,50,50,50", @"text":@"Hi....", @"backgroundColor":@"yellowColor"}; 
UILabel*myLabel = [[UILabel alloc]init]; 
[myLabel setValuesForKeysWithDictionary:labelProperties]; 
[self.view addSubview:myLabel]; 

但没有奏效。应用程序崩溃。我希望这是由于键的值不正确。值应该是什么格式,以便上面的代码有效。我需要像这样设置所有的UI属性。

有没有我可以理解如何设置值的任何教程?

回答

1

当所需的实际值显然不是字符串时,您正试图将所有值设置为字符串。

试试这个部分,并从那里工作了:

NSDictionary *labelProperties = @{@"textColor":[UIColor redColor]} 
+0

棘手的部分是“帧”属性:-) –

+0

我不能使用。我从服务器获取所有值,它们是字符串类型。我需要的是字符串值的正确格式,以便我可以直接使用它 – Pallavi

+2

@Plalavi:没有“字符串值的正确格式”。 *键*在KVC中始终是字符串,但*值*不是。 “textColor”是一个UIColor,“font”是一个UIFont,“frame”是一个CGRect,... –