2

我将 aCALayer作为子层添加到 aUIViewlayer属性中,如下所示:

_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,我认为这只是相对于它的父视图。为什么它会影响 viewsframe属性?(而且我不想调整视图层属性的 anchorPoint 或_graphicLayer)。

4

1 回答 1

2

你目前正在做

self.bounds = _graphicLayer.bounds;

这会改变视图的(自我)框架,因为它会改变宽度和高度。也许你打算这样做:

_graphicLayer.bounds = self.bounds;

请参阅此处了解边界如何影响框架:链接

于 2013-01-06T08:16:41.543 回答