我正在嘗試創建一個UIView
和CALayer
子圖層。使用此代碼UIGraphicsGetImageFromCurrentImageContext與CALayers
- (UIImage*)snapshot{
UIGraphicsBeginImageContext(self.bounds.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
我得到一個圖像,但它不能準確代表屏幕上顯示的內容。特別是,它不尊重CAShapeLayer
掩碼屬性。我的圓角不出現在圖像中。
下面是一個例子的屏幕上的顯示它是如何出現在圖像中的比較:
只是爲了澄清,右側的圖像被放置在相同的位置與舊對象,基本上柵格化對象。這就是爲什麼有相同的背景;它不是我捕捉圖像的對象的一部分。
如何在保留圖像中的CAShapeLayer
遮罩的同時捕捉對象的圖像?
編輯:它似乎是圖層蒙版是問題,而不是路徑。
視圖包含許多子類UIButtons作爲子視圖。這些UIButton子類對象包含多個CAShapelayers作爲子層。這些CAShapeLayers包含圓角。我怎樣才能做到這一點,而不需要將每個CALayer作爲單獨的圖像進行捕獲? – jadengeller
這真的沒有回答這個問題。 – jadengeller