我在-renderInContext上收到编译器警告:
- (UIImage *) imageFromView:(UIView *)view {
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}
我在项目框架中有QuartzCore,代码可以工作。 如何修复代码,以便停止向我发出警告?
我得到的确切警告是
warning: no '-renderInContext:' method found
warning: (Messages without a matching method signature
warning: will be assumed to return 'id' and accept
warning: '...' as arguments.)
答案 0 :(得分:33)
尝试将Quartz框架导入您的应用程序。
然后添加,
#include <QuartzCore/QuartzCore.h>
到你的申请。
答案 1 :(得分:2)
我想这是因为CALayer
类标题位于QuartzCore框架中。
在Xcode中,在Frameworks组中,添加QuartzCore框架,它应该没问题。
然后,请参阅my post here on SO了解如何在每个源文件中包含头文件。现在它不是Core Data,而是QuartzCore(以完全相同的方式)
答案 2 :(得分:2)
您的项目中是否有QuartzCore.framework?