2013-05-30 28 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,... –