在前向类对象“UIImage”中找不到属性“CGImage”
Posted
技术标签:
【中文标题】在前向类对象“UIImage”中找不到属性“CGImage”【英文标题】:Property 'CGImage' cannot be found in forward class object 'UIImage' 【发布时间】:2016-10-25 08:49:57 【问题描述】:我收到此错误:
self.contents = (id)_stillImage.CGImage;
_stillImage 是 UIImage,类是 CALayer
。
如何解决?
【问题讨论】:
为什么投成id
因为内容是 id 类型
你能写至少4到5行代码吗
你可能想写... = (id)(_stillImage.CGImage);
,因为id
没有CGImage
这样的属性。
【参考方案1】:
就像image.CGImage
一样简单,其中image 是一个UIImage 对象。
您可以通过桥接将其进一步转换为类型 id。
但是在这里,您想将 UIImage 对象添加到图层。
所以只需使用此代码。
self.view.layer.contents = (__bridge id) myImage.CGImage
如果您要对图层进行子类化,请使用。
self.contents = (__bridge id) myImage.CGImage
【讨论】:
【参考方案2】:_stillImage
是属于QuartzCore framework
的CALayer
,所以如果你没有添加或导入到你的项目中,那么它可能会导致你得到错误。
试试看,
如果您还没有添加QuartzCore framework
,请将其添加到您的项目中。
那么,
#import <QuartzCore/QuartzCore.h>
将其导入您的viewController
文件。
希望这会有所帮助:)
【讨论】:
【参考方案3】:原因是找不到UIImage.h,你只需要做的就是
#import <UIKit/UIKit.h>
【讨论】:
以上是关于在前向类对象“UIImage”中找不到属性“CGImage”的主要内容,如果未能解决你的问题,请参考以下文章