親切すぎるiPhoneアプリ開発の本

CALayerに独自の外観を持たせるには? - CALayerの外観加工

Icon comment count 0
Icon stock count 0

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のオフスクリーンに描画

出典情報

Medium

親切すぎるiPhoneアプリ開発の本

  • 著者: 國居 貴浩

コメント

    コメントはありません