CALayerのcontentsRectプロパティ(ここのドキュメント)を使用すると、描画に使用するレイヤーの量を定義できます。
いいえ、あなたはそれについて間違って考えています。
画像のどの部分をレイヤーに表示するかをcontentsRect指定します。contents
その部分は、プロパティに従ってレイヤーに配置されcontentsGravityます。
これがkCAGravityResizeデフォルトの場合、レイヤーに合わせてパーツのサイズが変更されます。それはあなたが見ている直感に反する振る舞いを説明するでしょう-あなたはcontentsRect小さくしますが、レイヤーは同じサイズであるように見え、画像の選択された部分に「ズームイン」しているように見えます。contentsGravityサイズ変更されないに設定すると、理解しやすくなる場合がありますkCAGravityCenter。
ほとんどの場合、をcontentsRectID rectのサブrectに設定する{ {0, 0}, {1, 1} }ため、コンテンツの一部のみを表示することを選択します。
(必要に応じて、これらをパーセンテージとして考えてください。contentsRectサイズがの場合は、の{0.5, 0.5}50%を選択していますcontents。)
の一部がcontentsRectID長方形の外側にある場合、CAはエッジピクセルをcontents外側に拡張します。これは便利な場合もありますが、単独で使用するものではありません。マスクまたは他のレイヤーと組み合わせて使用すると、効果が得られます。