2011-04-08 104 views
0

如何使用代码截取视图的截图?拍摄视图的截图

我已经在一些论坛上阅读过,并且有一个由苹果工程师发布的帖子,代码没有工作。

有没有内置的方法来做到这一点,或者什么是正确的方式来截图视图?

回答

7

Apple刚刚更新技术Q & A QA1703 Screen Capture in UIKit Applications。我只是把它放在我的代码中,它运行良好。

+0

是的,我只是在问这个问题后才发现它。它没有工作一段时间。但我现在测试它,是的。效果很好。谢谢 – jarryd 2011-04-08 21:58:02

1

您可以让视图的图层呈现为CGContextRef。这将是这样的:

[[myView layer] renderInContext:someContext]; 

然后,您可以获取上下文的UIImage表示并保存它左右。然而,请注意,这是有点慢,因为整个图层加上它的子图层必须再次渲染到新的上下文中。

不要忘记为此包含并链接到QuartCore。

+0

像黑蛙提到的,苹果更新了他们的代码,它的工作非常好。即时截图。 – jarryd 2011-04-08 21:58:52

+0

@ Helium3:好吧,它和我的建议非常相似,只是copy'n'pasteable。 – JustSid 2011-04-08 22:01:42

+0

好的。但它不是很慢;) – jarryd 2011-04-08 22:34:09