[SwiftUI] [GitHub] SwiftUIColorNames 作りました

SwiftUI

SwiftUI の Color の extension 作りましたので、説明します。

SwiftUI の Color

そのまま View にも使え、.fill 等にも使用できる 使い勝手の良い SwiftUI の Color ですが、色の指定方法が少し面倒でした。

良いされている System Color は、10 色しかありませんでした。

lightGray とか指定したい

UIColor であれば、もう少し多くの色が指定できるようになっています。

ですが、一部だけです。

自動車のボディカラーほどいかなくともある程度名前で設定できると嬉しいと思ったので、作ってみました。

SwiftUIColorNames

既存の SwiftUI の Color を extension を使って拡張しました。

色の使い方

SwiftUI で用意されている Color.red のように使えるようにしてみました。

SwiftUIColorNames example

let indigo = Color.Indigo

example

サンプルのアプリを作りました。

SwiftUIColorNames example

「SwiftUIColorNames example」

色名は、enum になっているので、以下のようなコードで全色を表示することができます。

example code

//
//  ContentView.swift
//
//  Created by : Tomoaki Yagishita on 2020/10/24
//  © 2020  SmallDeskSoftware
//

import SwiftUI
import SwiftUIColorNames

struct ContentView: View {
  var body: some View {
    List( Color.AdditionalColors.allCases, id:\.self) { color in
      ZStack {
        Color(hex: color.rawValue)
        Text("\(Color.mapValueToName[color.rawValue] ?? "invalid Color")")
      }
    }
  }
}

struct ContentView_Previews: PreviewProvider {
  static var previews: some View {
    ContentView()
  }
}

まとめ

SwiftUI で Color を名前を使って指定するときに便利だと思いますので、ぜひ使ってみてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です