iOS获取UITableView的可见部分的屏幕截图

时间:2013-07-10 04:40:12

标签: ios objective-c cocoa-touch uitableview screenshot

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

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();

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

1 个答案:

答案 0 :(得分:3)

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