レイヤのスタイルプロパティは、レイヤが表示するメディアの種類に関係なく、描画ツリーによって、レイヤを合成するときに適用されます。
この章では、レイヤスタイルプロパティについて説明し、サンプルのレイヤでその効果の例を示します。
ジオメトリプロパティ
背景プロパティ
レイヤコンテンツ
サブレイヤコンテンツ
ボーダー属性
フィルタプロパティ
シャドウプロパティ
不透明度プロパティ
合成プロパティ
マスクプロパティ
レイヤのジオメトリプロパティは、そのレイヤが親レイヤを基準にして相対的にどのように表示されるかを指定するものです。ジオメトリはまた、レイヤの角を丸める半径(任意指定)と、レイヤやそのサブレイヤに適用する変換方法を指定します。
図 1に、サンプルのレイヤのジオメトリを示します。
次のCALayerプロパティがレイヤのジオメトリを指定します。
frame
bounds
position
anchorPoint
cornerRadius
transform
zPosition
次にこのレイヤに背景を描画します。背景色はCore Imageフィルタと同じように定義できます。
図 2に、backgroundColorが設定されたサンプルレイヤを示します。
背景フィルタは、対象レイヤの背後のコンテンツに適用されます。たとえば、ブラーフィルタを背景フィルタに適用すると、レイヤのコンテンツをより目立たせることができます。
次のCALayerプロパティがレイヤの背景に影響します。
backgroundColor
backgroundFilters
次に、レイヤのコンテンツが設定されていれば、これを描画します。レイヤコンテンツは、Quartzグラフィック環境、OpenGL、QuickTime、またはQuartz Composerを使って作成できます。
図 4に、コンテンツを合成したサンプルレイヤを示します。
デフォルトでは、レイヤのコンテンツは、その境界矩形や角の丸みに合わせて切り取られることはありません。masksToBoundsプロパティをtrueに設定すると、レイヤコンテンツをその値に切り取ることができます。
次のCALayerプロパティがレイヤのコンテンツの表示に影響します。
contents
contentsGravity
レイヤには、子レイヤの階層であるサブレイヤがあるのが一般的です。これらのサブレイヤは、親レイヤのジオメトリを基準にして、再帰的に描画されます。各サブレイヤに、親レイヤのsublayerTransformが親レイヤのアンカーポイントを基準にして相対的に適用されます。
デフォルトでは、レイヤのサブレイヤはレイヤの境界矩形や角の丸みに合わせて切り取られることはありません。masksToBoundsプロパティをtrueに設定すると、レイヤコンテンツをその値に切り取ることができます。サンプルレイヤのmaskToBoundsプロパティはfalseです。モニタとテストのパターンを表示しているこのサブレイヤは、一部が親レイヤの境界矩形の外側にあることに注目してください。
次のCALayerプロパティがレイヤのサブレイヤの表示に影響します。
sublayers
masksToBounds
sublayerTransform
レイヤは、指定した色と幅で任意指定のボーダーを表示できます。図 5に、ボーダーを適用した後のサンプルレイヤを示します。
次のCALayerプロパティがレイヤのボーダーの表示に影響します。
borderColor
borderWidth
Core Imageフィルタの配列は、レイヤに適用できます。これらのフィルタは、レイヤのボーダー、コンテンツ、および背景に影響します。図 6に、Core Imageのポスタライズフィルタを適用したサンプルレイヤを示します。
次のCALayerプロパティがレイヤのコンテンツフィルタを指定します。
filters
任意で、レイヤに不透明度、色、オフセット、ブラー半径を指定することによってシャドウを表示できます。図 7に、赤いシャドウを適用したサンプルレイヤを示します。
次のCALayerプロパティがレイヤのシャドウの表示に影響します。
shadowColor
shadowOffset
shadowOpacity
shadowRadius
レイヤの不透明度を設定することで、レイヤの透明度を調節できます。図 8に、不透明度が0.5のサンプルレイヤを示します。
次のCALayerプロパティがレイヤの不透明度を指定します。
opacity
レイヤの合成フィルタを使って、レイヤのコンテンツをその背後のレイヤと結合します。デフォルトでは、レイヤはソースオーバーを使って合成されます。図 9に、合成フィルタを適用したサンプルレイヤを示します。
次のCALayerプロパティがレイヤの合成フィルタを指定します。
compositingFilter
最後に、マスクとして機能するレイヤを指定して、描画したレイヤの表示方法をさらに変更できます。マスクレイヤの透明度は、レイヤが合成されたときのマスク処理を決定します。図 10に、マスクレイヤを使って合成されたサンプルレイヤを示します。
次のCALayerプロパティがレイヤのマスクを指定します。
mask
Last updated: 2007-12-06