我有这段代码,它完全符合要求:
UIGraphicsBeginImageContext(self.bounds.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
然而,对于这一行:
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
我收到警告(不是错误):
找不到'-renderInContext'方法。
如果实际上方法有效,我怎么能有这个警告?如果我只是简单地注释掉这一行,我的代码就会失败;很明显,这条线,以及方法,实际上是有效的。
答案 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。