[iPhone] UIColor ボタン、ラベルなどの色設定

ボタンやラベルなどの色を初期値から変更するにはUIClorを使います。
変更方法は定義済みのUIColor.redなどを簡単に使うこともできますが、RGBやHueなどを細かく設定することも可能です。
Swift 3 で記述方法も短めに変更されました。
 

Swift 5.1
Xcode 11.4

 

UIColor

 
色の設定には以下のような方法があります。出来合いのものを適当に合わせて使うことも可能であり、また色空間まで見て設定することができるわけです。
 

 

System Colors

 
システムで設定されている色です

  • var darkText: UIColor
  • var lightText: UIColor
  • var groupTableViewBackground: UIColor

storyboardで色の選択を選ぶ時に出てくるリストです。
例えば背景が明るい色の時はdarkTextを使い、暗い背景の場合は
lightTextを使うのが適切ということでしょう。
 

 
使用例:


 

 

Predefined Colors

 
UIColor.blue
のように簡単にできる定義済の色設定があります。

Predefined Colors

  • var black: UIColor
    r:0.0 g:0.0 b:0.0
  • var blue: UIColor
    r:0.0 g:0.0 b:1.0
  • var brown: UIColor
    r:0.6, g:0.4, b:0.2
  • var cyan: UIColor
    r:0.0 g:1.0 b:1.0
  • var darkGray: UIColor
    r:1/3 g:1/3 b:1/3
  • var gray: UIColor
    r:0.5 g:0.5 b:0.5
  • var lightGray: UIColor
    r:2/3 g:2/3 b:2/3
  • var green: UIColor
    r:0.0 g:1.0 b:0.0
  • var magenta: UIColor
    r:1.0 g:0.0 b:1.0
  • var orange: UIColor
    r:1.0 g:0.5 b:0.0
  • var purple: UIColor
    r:0.5 g:0.0 b:0.5
  • var red: UIColor
    r:1.0 g:0.0 b:0.0
  • var white: UIColor
    r:1.0 g:1.0 b:1.0
  • var yellow: UIColor
    r:1.0 g:1.0 b:0.0

アルファが0の透明色もあります

  • var clear: UIColor
    a:0.0      

ラベルのテキスト色をmagentaと青色にするケース


 

 

Specific Color Space

 
いわゆるRGBやHSB(HSV)という色空間のパラメータを直接設定する方法です。
またe-sRGBはsRGBという国際電気標準会議 (IEC) が定めた国際標準規格の拡張版でiOS10からの対応です。
 


 

 
HSBはちょっとわかりにくいかもしれませんが、storyboardで色変更するときに
「HSB Sliders」を選ぶと直感的に分かるでしょうか
 

 

その他

 
getHue:
先ほどのHSB色空間の数値を取り出すこともできます。
 


 
ログとして出た数値は設定値と同じです


 
CGColor:
CoreGraphicsを使っているグラフィックスの色はCGColorを使う必要があります。
例えばボタンの枠とか


 

 
withAlphaComponent:
色はそのままで透明度だけ変更することもできます
 
ボタンの背景をライトグレーにすると下にある画像に被ってしまいました。


 

 
withAlphaComponentを使ってalphaが0.5のlightgrayを作ります


 

 
半透明のボタンができました。
 
References:
UIColor – UIKit | Apple Developer Documentation
CGColor – Core Graphics | Apple Developer Documentation


誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:


シェアする

  • このエントリーをはてなブックマークに追加

フォローする