如何将CALayer的内容设置为CGImageRef?

时间:2011-03-28 05:35:54

标签: objective-c cocoa-touch core-animation

我想将CALayer的内容设置为图像。 CALayer具有contents属性该属性的文档说“图层可以将此属性设置为CGImageRef以将图像显示为其内容。”但属性需要id所以在Xcode中我得到以下问题:

  

语义问题:指针不兼容   从中分配'id'的类型   'CGImageRef'(又名'struct CGImage *')

如果CGImageRef属性只需contents,我怎样才能将id分配给{{1}}?我在这里缺少什么?

2 个答案:

答案 0 :(得分:12)

您可以使用(__bridge id)来解决类型转换问题,而不是使用(id)。

答案 1 :(得分:5)

明确地将CGImageRef投射到id应修正警告。例如,

CGImageRef imageRef;

...

layer.contents = (id) imageRef;

应该可以正常工作。