如何将子图层居中在另一图层上?

Posted

技术标签:

【中文标题】如何将子图层居中在另一图层上?【英文标题】:How to center a sublayer on another layer? 【发布时间】:2017-06-13 14:28:57 【问题描述】:

我在 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)

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

【问题讨论】:

设置它的框架(或者更确切地说是边界)以适应 imageView 吗? 【参考方案1】:
layer.frame = imageView.bounds

【讨论】:

【参考方案2】:
layer.frame = imageView.bounds  

没关系。

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

图层沿 z 轴位置的锚点。

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

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

class CenterImageView: UIImageView 

    override func layoutSublayersOfLayer(layer: CALayer!) 
         super.layoutSublayersOfLayer(layer)
         layer.frame = self.bounds
    
 

【讨论】:

以上是关于如何将子图层居中在另一图层上?的主要内容,如果未能解决你的问题,请参考以下文章

arcgis两个面图层怎么能查出一个面在另一个面之外

网页设计中怎么用css让一个图层遮住另一个图层???

opencv-python提取某种颜色在另一个图层上显示

AE如何让形状图层随另一层做运动效果

ARCGIS 怎么对两张图进行相关分析

在ARCGIS10.0中,把一个图层复制到另一个图层上位置偏移了怎么办?