我遇到以下代码的问题只拍了我的UITableView的照片而不是导航和标签栏的整个屏幕…
- - (UIImage*)captureView:(UIView *)view
- {
- CGRect rect = [[UIScreen mainScreen] bounds];
- UIGraphicsBeginImageContext(rect.size);
- CGContextRef context = UIGraphicsGetCurrentContext();
- [view.layer renderInContext:context];
- UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return img;
- }
解决方法
几个月前,following代码对我有用:
- CALayer *layer = [[UIApplication sharedApplication] keyWindow].layer;
- CGFloat scale = [UIScreen mainScreen].scale;
- UIGraphicsBeginImageContextWithOptions(layer.frame.size,NO,scale);
- [layer renderInContext:UIGraphicsGetCurrentContext()];
- UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();