在将UITableView转换为UIImage时,底部透明20px

时间:2015-08-28 10:45:25

标签: ios objective-c iphone uitableview uiimage

为了将TablevIew转换为UIImage,首先我通过以下代码将UITablevIew转换为UIImage:

CGRect frame = aView.frame;
frame.size.height = aView.contentSize.height;
aView.frame = frame;

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

然后将其保存到文档目录中通过以下代码

 NSData *imageData = UIImagePNGRepresentation(saveImage);

    NSFileManager *fileMan = [NSFileManager defaultManager];
    NSString *fileName = [NSString stringWithFormat:@"%@.png",aFilename];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
    [fileMan createFileAtPath:pdfFileName contents:imageData attributes:nil];

在从文档目录打开.png文件时,我发现图像从底部透明为20px。

Bottom of Image is some how transparent

请分享您的想法.. 在此先感谢。

1 个答案:

答案 0 :(得分:-1)

20 px听起来像状态栏。检查边界的高度以及框架的y位置。