1

我正在尝试将图像绘制到 CALayer 上。我只需要一个图像,所以我创建了我的后期如下:

CALayer *layer = [CALayer layer];

我添加我的图像如下:

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

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

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

[layer setContentsGravity:@"kCAGravityBottomLeft"];

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

4

1 回答 1

0

尝试这个:

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

请注意,kCAGravityBottomLeft声明为NSString并且该contents属性需要一个CGImageRef.

于 2012-04-06T05:25:58.367 回答