通常在开发中view转UIIimage的方法为:
+(UIImage *)imageWithUIView:(UIView *)view{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, [UIScreen mainScreen].scale);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[view.layer renderInContext:ctx];
UIImage* tImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
returntImage;
}
但是生成后的图片清晰度直线下降,尤其是在图片上有文字的情况下,糊的更为明显。
变糊是因为iOS的编程像素和实际显示像素不同,在X2和X3的retina屏幕设备上,使用此方法生成的图片大小将会被还原成1倍像素,
从而导致再次显示到UIImageView上显示时,清晰度下降。所以使用此方法前,先将要转换的UIview及它的所有SubView 的frame里的坐标和大小都根据需要X2或X3。