美文网首页iOS技术及开发讨论
截取tableView图片防止不清晰

截取tableView图片防止不清晰

作者: 扶摇先生 | 来源:发表于2018-01-08 21:13 被阅读6次

今天看到一条新闻一个男孩子相亲因为穿特步而被女孩子拒绝,突然就想上一次相亲自己穿的啥,好像也是特步,哦不对是李宁🤦‍♀️。

CGPoint savedContentOffset = self.tableView.contentOffset;
    CGRect savedFrame = self.tableView.frame;//这两句是为了防止不清晰

    UIImage *scrollViewImage = [TShopTools captureScreenScrollView:self.tableView];
    self.tableView.contentOffset = savedContentOffset;
    self.tableView.frame = savedFrame;//还有这两句是为了防止不清晰,在这里是为了是tableView在截取之后恢复原来的位置和offset
@interface TShopTools : NSObject
+ (UIImage *)captureScreenScrollView:(UIScrollView *)scrollView ;
@end
#import "TShopTools.h"
@implementation TShopTools

+ (UIImage *)captureScreenScrollView:(UIScrollView *)scrollView {

    scrollView.frame = CGRectMake(0, scrollView.frame.origin.y, scrollView.contentSize.width, scrollView.contentSize.height);
    UIGraphicsBeginImageContextWithOptions(scrollView.contentSize, YES, [UIScreen mainScreen].scale); //currentView 当前的view  创建一个基于位图的图形上下文并指定大小为
//    [scrollView drawViewHierarchyInRect:CGRectMake(0, 0, scrollView.contentSize.width, scrollView.contentSize.height) afterScreenUpdates:NO];

    [scrollView.layer renderInContext:UIGraphicsGetCurrentContext()];//renderInContext呈现接受者及其子范围到指定的上下文
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();//返回一个基于当前图形上下文的图片
    UIGraphicsEndImageContext();
    

    return image;
}
@end

相关文章

网友评论

    本文标题:截取tableView图片防止不清晰

    本文链接:https://www.haomeiwen.com/subject/holinxtx.html