如何将子图层居中在另一图层上?
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
【讨论】:
以上是关于如何将子图层居中在另一图层上?的主要内容,如果未能解决你的问题,请参考以下文章