将任何 UIView渲染为图像的实现(也适用于视网膜显示)。
helper.h 文件:
@interface UIView (Ext)
- (UIImage*) renderToImage;
@end
和 helper.m 文件中的归属实现:
#import <QuartzCore/QuartzCore.h>
@implementation UIView (Ext)
- (UIImage*) renderToImage
{
// IMPORTANT: using weak link on UIKit
if(UIGraphicsBeginImageContextWithOptions != NULL)
{
UIGraphicsBeginImageContextWithOptions(self.frame.size, NO, 0.0);
} else {
UIGraphicsBeginImageContext(self.frame.size);
}
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
0.0 是比例因子。应用于位图的比例因子。如果您指定值 0.0,则比例因子设置为设备主屏幕的比例因子。
QuartzCore.framework也应该放入项目中,因为我们在图层对象上调用函数。
要在 UIKit 框架上启用弱链接,请单击左侧导航器中的项目项,单击项目目标 -> 构建阶段 -> 链接二进制并在 UIKit 框架上选择“可选”(弱)类型。
这是具有类似 UIColor、UIImage、NSArray、NSDictionary 扩展名的库...