我正在将CALayer
作为子图层添加到UIView
的{{1}}属性中,如下所示:
layer
如您所见,我将_ _graphicLayer = [[GraphicLayer alloc] init];
self.bounds = _graphicLayer.bounds;
_graphicLayer.position = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));
[self.layer addSublayer:_graphicLayer];
的位置更改为占据居中的graphicLayer
。在添加此子图层后,我注意到它正在将视图anchorPoint
更改为frame
。为什么会这样?如果我改变_ (-self.bounds.width / 2, -self.bounds.height / 2)
的位置,我认为这只是相对于其父视图。为什么它会影响视图graphicLayer
属性? (我不想调整视图图层属性或frame
)的anchorPoint。
答案 0 :(得分:2)
你现在正在做
self.bounds = _graphicLayer.bounds;
会改变视图的(自我)框架,因为它会改变宽度和高度。也许你打算这样做:
_graphicLayer.bounds = self.bounds;
请在此处查看边界如何影响框架:Link