Fixed mask copying on layer snapshot

This commit is contained in:
Ilya Laktyushin 2019-02-13 01:05:14 +04:00
parent 519b16d4cf
commit 2e8c33d43d

View File

@ -244,10 +244,11 @@ private func makeSubtreeSnapshot(layer: CALayer, keepTransform: Bool = false) ->
view.layer.masksToBounds = layer.masksToBounds
if let mask = layer.mask {
let maskLayer = CALayer()
maskLayer.bounds = mask.bounds
maskLayer.contents = mask.contents
maskLayer.contentsRect = mask.contentsRect
maskLayer.contentsScale = mask.contentsScale
maskLayer.contentsCenter = mask.contentsCenter
maskLayer.contentsGravity = mask.contentsGravity
view.layer.mask = maskLayer
}
view.layer.cornerRadius = layer.cornerRadius
@ -261,6 +262,9 @@ private func makeSubtreeSnapshot(layer: CALayer, keepTransform: Bool = false) ->
}
subtree.frame = sublayer.frame
subtree.bounds = sublayer.bounds
if let maskLayer = subtree.layer.mask {
maskLayer.frame = sublayer.bounds
}
view.addSubview(subtree)
} else {
return nil