その名の通り、属性を用いて文字を装飾します。属性は辞書により設定し、生成した文字列はUILabelやUITextField, UITextViewなどで利用可能です。フォントや文字の色、リガチャ、カーニングの設定だけでなく、画像やリンクを埋め込むこともできます。以下に使用例を示します。
これで、labelに表示する文字を赤くすることができます。ここでは、attributesに一つの属性しか設定していませんが、複数の属性を同時に設定することも可能です。
iOS 7ではNSAttributedStringに多くの属性が追加されています。その中で、今回は文字に下線や取り消し線を付けるための属性を紹介します。関連のある属性は以下の4つです。
iOS 6までは単一線しか引けなかった下線と取り消し線ですが、iOS 7では様々なスタイルが利用可能となっています。iOS 7で利用できるスタイルは以下になります。
例として、太い点線を単語の下にのみ引く場合の属性の作り方を以下に示します。この例では、さらに下線の色をオレンジに、文字色を青にしています。
続いて、太い点線を使った二重取り消し線の例です。取り消し線の色は赤にします。
このように、NSAttributedStringを利用すると文字の修飾が簡単にできます。
iOS 7対応の書籍はすでに何冊かありますが、ここまでiOS 7の新機能、拡張機能に焦点を絞った本はまだないのではないでしょうか(あったら教えてください!)。12月20日発売予定です。Amazonで予約可能です。冬休みを利用してiOS 7をマスターしたい方に是非おすすめします。