我意识到contentsRect
财产CALayer
( 文件位置 )允许定义多少层的使用绘图,但我不明白是怎么坐标系的作品,我想。
看来,当宽度/高度较小,用于内容的面积越大,反之亦然。 同样,负x,y位置似乎向下和这是我的直觉相反的右侧移动内容领域。
一个人能解释这是为什么? 我敢肯定有一个很好的理由,但我相信我错过了一些图形编程背景。
我意识到contentsRect
财产CALayer
( 文件位置 )允许定义多少层的使用绘图,但我不明白是怎么坐标系的作品,我想。
看来,当宽度/高度较小,用于内容的面积越大,反之亦然。 同样,负x,y位置似乎向下和这是我的直觉相反的右侧移动内容领域。
一个人能解释这是为什么? 我敢肯定有一个很好的理由,但我相信我错过了一些图形编程背景。
CALayer的(这里的文档)的contentsRect属性允许一个定义如何层的多少要用于绘制
不,你没有正确地思考它。
所述contentsRect
指定其中的一部分 contents
的图像将在该层中被显示。
然后,该部分根据设置在所述层contentsGravity
属性。
如果这是kCAGravityResize
,默认,这将导致部分调整大小以适应层。 这可以解释你所看到的违反直觉的行为-你做contentsRect
较小,但该层似乎是相同的大小,并且它似乎“放大”上的图像的选定部分。 您可能会发现更容易理解,如果你设置contentsGravity
到kCAGravityCenter
,这不会调整。
大多数时候,你会设定contentsRect
的身份矩形的某些子RECT { {0, 0}, {1, 1} }
所以你选择只查看的内容的一部分。
(想想这些为百分比,如果你喜欢-如果contentsRect
的大小为{0.5, 0.5}
你选择的50% contents
。)
如果部分contentsRect
那张身份RECT之外,那么CA将延伸的边缘像素contents
向外。 这是在某些情况下派上用场,但它不是东西,你会在自己使用 - 你会结合使用它带着面具或一些其他层以达到一定的效果。