2011-04-08 102 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