Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #305】アプリ独自の色(Color)定義をAssetCatalogで管理する

はじめに

Xcode9になり、色の定義をAssetCatalogで管理できるようになりました。

これにより以下のメリットがあります。

  • 色定義の管理方法の選択肢が増えた
  • どのような色なのか一目でわかります

どのような色なのか一目でわかるという点についての補足

Asset Catalog上の表示

f:id:fjswkun:20171210123319p:plain

StoryboardやXIBファイルで色のプロパティを設定するときに選択肢に表示されます

f:id:fjswkun:20171210123513p:plain

実装例

  1. AssetCatalogにColor Setを追加します f:id:fjswkun:20171210122927p:plain

  2. 色を定義します f:id:fjswkun:20171210123052p:plain

  3. 色を使う UIColor(named:)で初期化して使います。
    ナビゲーションバーの色に使ってみました。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.navigationController?.navigationBar.barTintColor = UIColor(named: "appBlue")
    }
}

また、Storyboardで指定することもできます。 f:id:fjswkun:20171210124617p:plain

  1. 結果を確認する f:id:fjswkun:20171210123858p:plain

注意

UIColor(named:)で初期化する際に引数に色定義の名前文字列で指定します。指定が間違っていた場合、nilとなります。色定義の名前はenumで管理し、実装時に間違えないようにするなどの工夫は必要です。

また、depoyment targetが11.0以上でなければなりません。

Swift

入門書籍

絶対に挫折しない iPhoneアプリ開発「超」入門 増補改訂第5版
プログラミングが初めて!という人が小さなアプリを作ることで、アプリ開発を学ぶことができます。
「Swiftだけでなく、プログラミング自体が初めてなんだけど、どの本が良い?」と聞かれたときには、
この書籍をおすすめしています。

本気ではじめるiPhoneアプリ作り Xcode 8.x+Swift 3.x対応 (ヤフー黒帯シリーズ)
アプリ開発からApp Storeへの公開までの一通りを学ぶことができます。
入門書を2冊、3冊を読んだあとでこの書籍を読むとかなりの実力アップを感じることができます。

ただし、一通り学ぶことができますが、プログラミング初めてでこの書籍を選ぶことはオススメできません。
最初の方の内容はプログラミング初心者には理解が難しく、そこで勉強をやめてしまう可能性がありそうだと感じます。

Swiftポケットリファレンス
辞書として1冊は持ってても良い。

仕事でやれるレベルになるために

初心者から仕事でやれるレベルになるためにオススメできる日本語書籍がみつかりませんでした。
英語は苦手でも、書籍に書かれているソースはやさしく、読み進めることができます。

The iOS Apprentice (英語サイト・英語書籍)
Swift Apprentice (英語サイト・英語書籍)

平均的プログラマーを超えるために

詳解Swift 第3版
Swift3の書籍。第1版、第2版にもお世話になっています。
Swiftの文法についてとても詳しく書いてあります。

Ray Wenderlich | Tutorials for iPhone / iOS Developers and Gamers
QiitaのSwiftに関する記事