Swiftで色を指定する方法

2016.01.16
Swiftで色を指定する方法の記事のアイキャッチ

こんにちは、@Yuuです。

Swiftを使ってiPhoneアプリを開発する際、色を指定する場面は沢山あります。

今回はSwiftで色を指定する方法をご紹介します。

スポンサーリンク

解説を行う環境

今回僕が解説を行う環境です。

  • OS:OS X Yosemite10.10.5
  • Xcode:7.2

Xcodeのバージョンが7以降なのでSwift2での解説になります。
Swift(無印)でも書き方はほぼ一緒だと思いますが、違う場合はご了承下さい。

Swiftで色を指定する

今回の記事では「UIColor」という色を管理するクラスを使用します。

Labelのフォントの色、viewの背景色...などなど色を指定する際には、このUIColorというクラスを使用します。

UIColorについて紹介している公式サイトは以下になります。

Swiftで色を指定する方法はいくつかあるのですが、今回は2種類色を指定する方法をご紹介します。

1. 名前で指定する

Appleが事前に用意してくれている名前で指定出来る色が15種類あります。
例えば、「白・赤」といった一般的な色を、それぞれ「whiteColor()redColor()」という風に指定する事が出来ます。

以下のコードが指定可能な15種類になります。

実際にそれぞれの試してみると以下のような見た目になります。
名前で色を指定

tableViewを使ってチャチャッと作ってしまったので、デザイン性はあまりありませんが、色の参考にはなるかと思います。

1番最後のUIColor.clearColor()というのは、名前のとおり「透明」を意味します。

僕が実際にアプリを作る際にはこの方法はあまり使いませんが、取り急ぎ色を変えて何か確認を行いたい状況の時に、こちらの方法を使用したりします。

2. RGBで指定する

UIColorではRed・Green・Blueの混ぜ合わせる量と透明度を表すalpha値の指定をする事が出来ます。

CSSのrgbaと同じで、「赤緑青」全ての色を最大値にすると白色に、またalpha値を0にすると完全に透明な色になります。

この色の混ぜ方は、光の三原色の加法混合ですね。
UIColorも、以下のwikipediaより引用させて頂いた画像のように色が変化します。

加法混合の例。スクリーンに原色の光を投影すると、光が重なったところが二次色になる。三原色の光が適切な割合で混ざると白になる

画像は原色 - Wikipediaより引用

ただし、SwiftのRGBで色を混ぜ合わせる場合注意が必要です。
それはCSSのrgbaでは赤緑青の値を「0~255」の間で設定しますが、 UIColorでは赤緑青の値を「0~1.0」の間で設定します。

例えばCSSで
rgba(0,128,255,1)
と設定するのを、UIColorで同じように設定する場合は
UIColor(red: 0.0, green: 0.502, blue: 1.0, alpha: 1.0)
となります。

Web開発を先にやっていた身としては、「うーん、分かりづらい・・」
と思ってしまいますね。

余談はさておき、実際にRGBの値を指定して、いくつか色を表現してみたいと思います。

これらを実際に試したサンプルが以下になります。
RGBで色を指定する

最後の3つ(purple1,purple2,purple3)は、赤緑青の量は同じですが、alphaを変化させることによって色が少しずつ透明になっていっているのが分かるかと思います。

たいしたソースコードではないですが、上記2つのtableViewで表示するためのプロジェクトをGitHubに上げておいたので、よろしければ参照してみて下さい。

meganedogYuu/ColorSample - GitHub

あとがき

初めてSwiftで色を指定しようとした時に「えっ!?色を指定するのがこんなめんどくさいの!?」と思ったのを今でも良く覚えています(笑)

次の記事でSwiftで色を指定するのを便利にするExtensionをご紹介予定ですので、そちらも合わせてお読み頂ければと思います。

書きました!是非参考にしてみて下さい。
Swiftで色の指定を便利にするExtension

ではでは
今回はこの辺で!ヽ(•̀ω•́ )ゝ✧

Swiftで色を指定する方法の記事のアイキャッチ

この記事が気に入ったらいいね!
して最新情報をチェックしよう!

スポンサーリンク