美文网首页iOS经验总结
iOS通过tableView或者scrollView等可以滚动的

iOS通过tableView或者scrollView等可以滚动的

作者: 艾泽拉斯大祭司 | 来源:发表于2019-06-12 15:06 被阅读0次

//长截图类型可以是tableView或者scrollView等可以滚动的视图根据需要自己改

-(void)saveLongImage:(UITableView *)table {

    UIImage* image = nil;

    //下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,调整清晰度。

    UIGraphicsBeginImageContextWithOptions(table.contentSize,YES,[UIScreen mainScreen].scale);

    CGPoint savedContentOffset = table.contentOffset;

    CGRect savedFrame = table.frame;

    table.contentOffset = CGPointZero;

    table.frame = CGRectMake(0,0,table.contentSize.width,table.contentSize.height);

    [table.layer renderInContext: UIGraphicsGetCurrentContext()];

    image = UIGraphicsGetImageFromCurrentImageContext();

    table.contentOffset = savedContentOffset;

    table.frame = savedFrame;

    UIGraphicsEndImageContext();

    if(image != nil){

        //保存图片到相册

        UIImageWriteToSavedPhotosAlbum(image,self,@selector(image:didFinishSavingWithError:contextInfo:),NULL);

    }

}

// 保存后回调方法

-(void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {

    NSString *msg = nil;

    if(error != NULL){

        msg = @"保存图片失败";

    }else{

        msg = @"保存图片成功,可到相册查看";

    }

    UIAlertView *alert =[[UIAlertView alloc]initWithTitle:nil message:msg delegate:self cancelButtonTitle:@"确定"  otherButtonTitles:nil];

    [alert show];

}

相关文章

网友评论

    本文标题:iOS通过tableView或者scrollView等可以滚动的

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