ラベルの色を部分的に変えたい場合、少し調査が必要だったのでまとめます。
主に2パターンの方法があります。
####その1 StroryBoardを使う
この方法だと、コードを書かなくていいので、設定が簡単にできます
対象のラベルを選択した状態にします。
①TextをAttributedにします
②ラベルに表示する文言の色を変えたい部分だけ選択した状態で色を変える(赤枠の部分です)
これだけで部分的に色を変えれます。
####その2 ソースコードで定義する
この方法だとStoryboardの設定は不要ですが、実装が必要です。
まずは、ラベルとソースコードでの定義を紐付けます
上記のように黒い丸が付いていれば紐付けされているはずです。
次に、ラベルの設定をします。
let attrText1 = NSMutableAttributedString(string: taskLimitLabel.text!)
attrText1.addAttributes([
.foregroundColor: UIColor.red,
], range: NSMakeRange(6, 9))
taskLimitLabel.attributedText = attrText1
上の処理では属性を加える文字列を定義して、addAttributesで属性を加えています。
今回はrangeで色を変える文字が何番目かを設定し、foregroundColorで色を設定します。
最後に、属性を追加した文字をラベルに置き換えます。
これで一部分の色が変わります。
今回は2パターン記載しました。
実装でカスタマイズする方法は他にもあると思います。
個人的にはStoryboardを使ったほうが視覚的に見やすいと思いますが、複数人で開発など、ソースで書いた方がいいパターンもあると思うので、場合によって使い分けたいと思います。