2010-07-25 86 views
0

我有一个拥有3个UITableView的UIView,需要拍摄屏幕截图。但问题是3张桌子中不可见的部分。任何人都可以帮助找到一种方法来拍摄整个视图的屏幕截图,包括表格的完整滚动内容。截取UIView的截图,包括3个UITableView(可见+不可见)部分

+0

你想采取截图,从您的计算机,或者在应用程序本身呈现的图像? – jtbandes 2010-07-25 23:58:56

+0

您可以使用此[示例代码](http://stackoverflow.com/questions/2328201/how-to-take-an-iphone-screenshot-of-entire-view-including-parts-off-screen/8033794# 8033794)以获得桌面视图的完整视图。 – 2011-11-07 07:52:03

回答

1

这有助于获得一个层(即,因而一个UIView)的内容

UIGraphicsBeginImageContext(tableView.frame.size); 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 
[tableView.layer renderInContext:ctx]; 
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
+0

嗨,非常感谢您的回答和时间。 我实际上需要将所有表格的屏幕截图与其可见和不可见部分(包括self.view的其他部分)一起拍摄。 我已经尝试用self.table2代替tableView的代码 结果:仅显示table2可见部分。 也尝试self.view。 结果:使用table1.table2显示视图,table3仅具有其可见部分。但没有显示这三张表的不可见部分。 再次感谢并感谢您的努力。 – user401827 2010-07-29 04:30:21

+1

屏幕外的细胞在技术上取决于视图(出于很好的理由)。所以你必须创建一个循环来拍摄图像,然后向下滚动tableview。那么你可能需要修补图像。 – devinross 2010-10-15 20:50:56