2016-10-17 11 views
-1

NSStringの色名をex: "Green"からconfiguration.plistファイルにUIColorまたは16進数の色コード(例: "00ff00")に変換するタスクがあります。私はすでに16進カラーコードをUIColorに変換するコードを持っています。私はこのタスクのためのいくつかのコードサンプルを使用しようとしましたが、動作しません。 解決策を教えてください。NSStringの色名をUIColorに変換します

+0

あなたはHexカラーコードをUIColorに変換しますか? –

+1

[NSStringをUIColorに変換する方法]の複製があります(http://stackoverflow.com/questions/8228339/how-to-convert-nsstring-to-uicolor) – alexburtnik

+0

@Darshan、ユーザー入力は**のようになります** "ライム "**とそれに応じて色を適用する必要があります。 –

答えて

0

に期待するすべての色のためにこれをしなければならないでしょう。すべては、このような列挙型でpossibile色のセットの定義を開始:

enum MyColor: String { 
    case green 
    case red 
    case blue 
    // and so on 

    var hex: Int { 
     switch self { 
      case green: return 0xABCDF 
      case red: return 0xABCDF 
      case blue: return 0xABCDF 
     } 

    } 
} 

あなたはヨール色をinitilizeことができた後、あなたは、この新しい列挙

extension UIColor { 

    convenience init(myColor: MyColor) { 
     self.init(hex: myColor.raw) 
    } 

    init(hex: Int) { 
    } 
} 

を使用UICOlorクラスの新しい初期化が必要

let theColor = MyColor(rawValue: "green") 
let color = UIcolor(myColor: theColor) 
+0

ありがとうiGenio、私はこれを試してみます。 –

+0

申し訳ありませんが、構文エラーがありますが、今はxcodeがありません。 – iGenio

+0

それは問題ではありませんが、私はあなたが説明しようとしていたものを得ました。ありがとう。 –

0

これは、アプリケーションの色名に対して16進数の色コードを保存する場合にのみ実現できます。

プロパティリストを保持するか、これらのキー値ペアをコアデータに格納することができます。

この

レッドのようなものだろうあなたのアプリケーション: ブルー「赤のための六角を」:「ブルー用六角」 グリーン:「グリーン用六角」

あなたはこれらのキーを保存する方法価値のペアはあなたまでです。色の名前から色を取得する必要があるときは、その色を16進コードで調べ、それをUIColorに変換します。

あなたは、あなたがイースリーそのシステムを開発することができ、迅速を使用している場合は、あなたのアプリケーション

+0

ありがとうShayan、私の仕事を達成する他の方法はありますか? –

+0

@PrashanthKpは私の意見ではありません。あなたは確かにインターネット上でいくつかの調査を行うことができます –

+0

ありがとう@Shayan、実際に私は今この解決策を探していますが、これは解決策になると思います。 –

関連する問題