gpt4 book ai didi

ios - 如何捕获tableView可见部分的UIImage

转载 作者:行者123 更新时间:2023-11-29 12:53:18 24 4
gpt4 key购买 nike

我是第一个使用 UIGraphicsBeginImageContext 的。我想将 tableView 的可见部分捕获到 UIImage 中,并让它成为新 CALayer 的内容。这是我的代码:

UIGraphicsBeginImageContext(tableView.frame.size);

[tableView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

CGRect frame = [self.view.window convertRect:view.frame fromView:tableView.superview];
CALayer *imageLayer = [CALayer layer];
imageLayer.contents = (id)image.CGImage;
imageLayer.frame = frame;

但是,如果我向下滚动 tableView,捕获图像的顶部将是白色的。我使用 UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); 来查看结果。

找了很久的答案,只好在这里问这个问题,希望有人能帮帮我!谢谢!

最佳答案

创建一个名为“viewHolder”的 View ,将其“clipsToBounds”设置为是。将 tableView 作为 subview 添加到 viewHolder。现在使用:

UIGraphicsBeginImageContext(viewHolder.frame.size);

[viewHolder.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

关于ios - 如何捕获tableView可见部分的UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21887140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com