1

我正在尝试让我的应用程序截取视图(表格视图)的屏幕截图。这是我用来执行此操作的代码:

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
    UIGraphicsBeginImageContextWithOptions(self.tableView.frame.size, NO, [UIScreen mainScreen].scale); //retina display
else
    UIGraphicsBeginImageContext(self.tableView.frame.size);
[self.tableView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

这有效,但仅当表格视图滚动到最顶部时,如果不是,则图像为黑色。我发现的唯一解决方案是捕获整个表格视图。我只需要可见的部分。我该怎么做?

4

1 回答 1

3

通过将self.tableView.layer改为self.tableView.superview.layer解决。

于 2013-07-10T06:55:51.793 回答