【发布时间】:2014-02-19 16:56:55
【问题描述】:
我是第一个使用 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); 来查看结果。
找了好久才在这里问这个问题,希望有人能帮帮我! 谢谢!
【问题讨论】:
-
您的目标是什么版本的 iOS?
-
你试过
[view.layer renderInContext而不是[tableView.layer renderInContext吗? -
@AlbertRenshaw 抱歉我的错误,
view是tableView。
标签: ios objective-c uitableview uiimage