警告:“找不到'-renderInContext'方法”

时间:2011-06-23 12:47:47

标签: objective-c ios cocoa-touch core-animation compiler-warnings

我有这段代码,它完全符合要求:

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

然而,对于这一行:

[self.layer renderInContext:UIGraphicsGetCurrentContext()];

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

  

找不到'-renderInContext'方法。

如果实际上方法有效,我怎么能有这个警告?如果我只是简单地注释掉这一行,我的代码就会失败;很明显,这条线,以及方法,实际上是有效的。

3 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:3)

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

#import <QuartzCore/QuartzCore.h>

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

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

答案 2 :(得分:0)

您可能拥有same issue as this guy。确保添加QuartzCore。