我使用核芯顯卡把我的UIView的截圖,然後將其放置在該視圖的頂部(所以我可以在以後製作動畫):核芯顯卡截圖沒有隱藏物品
// Get the screen shot
UIGraphicsBeginImageContextWithOptions(target.bounds.size, YES, [[UIScreen mainScreen] scale]);
[target.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIImageView * ss = [[UIImageView alloc] initWithImage:image];
// Add it to the View
[overlay addSubview:ss];
[target addSubview:overlay];
問題:我的UIView target
有一些看不見的東西(我試過alpha = 0
和hidden = YES
)。這些不可見的項目出現在屏幕截圖中。
如何在沒有這些隱形物品的情況下拍攝屏幕截圖?
更新:我嘗試使用Technical Q&A QA1703: Screen Capture in UIKit Applications中的代碼,這也提出了相同的問題。
UPDATE#2:看起來問題出現在應用了CATransform3D的視圖中。在另一個具有3D子視圖的父視圖中,當截取這個屏幕截圖時,3D效果將從視圖中移除,並且它們顯得平坦(2D)。
隱藏的項目正在顯示,即使alpha爲零?這真的很奇怪。 –
這些是什麼意見?我只是對一些'alpha'設置爲'0'的'UIViews'進行了簡單的測試。0',它工作得很好(他們隱藏在屏幕截圖中)。 – omz
@omz - 它們是帶有UILabel的UIViews。它們在不同的時間由Core Data動畫,所以它們可能會應用'CATransform'。 –