0

我在 CAShapeLayer() 上画了一些东西。现在我想把它放在另一层。

let layer = CAShapeLayer() // This is the layer I drew something on 
let imageView = UIImageView() //  The imageView I want to put the layer on 
imageView.layer.addSublayer(layer)

那么如何将图层的中心与图像视图的中心对齐呢?谢谢。

4

2 回答 2

1
layer.frame = imageView.bounds  

没关系。

要将子图层居中在另一个图层上,您还可以检查anchorPointZ。

图层沿 z 轴的位置的锚点。

默认值是将图层的中心与图像视图的中心对齐

如果您需要 UIImageView 的图层随其视图调整大小。您需要创建一个自定义视图类,并覆盖 layoutSublayersOfLayer

class CenterImageView: UIImageView {

    override func layoutSublayersOfLayer(layer: CALayer!) {
         super.layoutSublayersOfLayer(layer)
         layer.frame = self.bounds
    }
 }
于 2017-07-09T17:03:07.807 回答
1
layer.frame = imageView.bounds
于 2017-06-13T16:32:22.680 回答