1

我有这样的代码,它工作完全按照期望:警告: “否 '-renderInContext' 的方法找到了”

UIGraphicsBeginImageContext(self.bounds.size); 
[self.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage* image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

然而,对于这一行:

[self.layer renderInContext:UIGraphicsGetCurrentContext()]; 

我得到警告(不是错误):

找不到'-renderInContext'方法。

如果实际上该方法正在工作,我该如何得到此警告?如果我只是简单地评论这一行,我的代码就会失败;所以显然这条线和方法实际上是有效的。

回答

7

您需要为CALayer - #import <QuartzCore/QuartzCore.h>添加对头文件的引用。您可能还需要将QuartzCore.framework添加到您的项目中。

3

这是说这是因为编译器无法找到该方法的定义。您需要添加以下行:

#import <QuartzCore/QuartzCore.h> 

.m文件的开头。您可能还需要将QuartzCore框架添加到您的项目中。

(您的应用工作的原因是该方法在运行时可用)