1 CALayerの外観加工
Single View Applicationテンプレートでプロジェクトを新規作成してください。Product NameはCustomLayerとします。
1.1 CALayerが管理するオフスクリーン
CALayerは、自身が担当する画面に対してbackgroundColorプロパティで指定される色での塗りつぶしや、borderWidthプロパティの太さの枠線表示などに加え、自分が管理しているオフスクリーンの表示もおこないます。オフスクリーンには、画面に表示できるあらゆるもの(写真やイラスト、幾何学模様等)が描画できるので、CALayerが管理するオフスクリーンへの直接描画は、CALayerの外観を変更するもっとも自由度の高い方法です。
これがUIViewの-drawRect:メソッドでおこなわれていることであり、-drawRect:メソッド内で使ったCGContextの描画先は、自身の持つself.layerが管理するオフスクリーンとなっています。
1.2 -drawRect:メソッドの工程
CALayerにオフスクリーンを管理させるには、contentsプロパティにCGImageという形でオフスクリーンを割り当てる必要があります。CALayer作成直後のcontentsプロパティはnilです。
【contentsプロパティ】
CALayerが管理するオフスクリーンを設定する。作成直後はnilとなっている。
【CGImage型】
画像を表現するオブジェクトの型。内部の詳細は公開されていない。
UIViewの場合は、-drawRect:で自身が持つself.layerのオフスクリーンに描画
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録