CALayer位置内容左下角

时间:2012-04-05 21:49:01

标签: objective-c macos core-animation

我正在尝试将图像绘制到CALayer上。我只需要一张图片,所以我后来创建了我的图片:

CALayer *layer = [CALayer layer];

我按如下方式添加图片:

NSImage *img = [[NSImage alloc] initWithContentsOfFile:@"path/to/img.png"];
[layer setContents:img];

这样可行,但它会绘制我的图像以填充整个父框架(在此过程中拉伸我的图像)。

阅读文档,我发现了以下内容:

[layer setContentsGravity:@"kCAGravityBottomLeft"];

我试图在父框架的左下角绘制我的图像,但无论我做什么,它都会在底部中心绘制我的图标。无论如何指定左下角?

1 个答案:

答案 0 :(得分:0)

试试这个:

CALayer *layer = [CALayer layer];
layer.contentsGravity = kCAGravityBottomLeft;
layer.contents = (id) aCGImageRef;

请注意,kCAGravityBottomLeft声明为NSStringcontents属性需要CGImageRef