2011-08-02 5 views
2

私は、行が選択されたときに標準の詳細ビュー.xibをプッシュするテーブルを持つiPhoneアプリケーションを作成しました。文字列の辞書の配列であるplistのnibファイルにあるいくつかのUILabelのテキスト値を正常に埋め込むことができました。そのため、選択された各テーブル行に対して、UILabelが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]; 

あなたは、テーブル/セルごとに動的にこれを行うことができます。

関連する問題