gpt4 book ai didi

iphone - 将子层添加到 view.layer 会改变框架位置吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:50 27 4
gpt4 key购买 nike

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

_graphicLayer = [[GraphicLayer alloc] init];
self.bounds = _graphicLayer.bounds;
_graphicLayer.position = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));
[self.layer addSublayer:_graphicLayer];

如您所见,我更改了 _graphicLayer 的位置以考虑居中的 anchorPoint。添加此子层后,我注意到它正在将 View frame 更改为 (-self.bounds.width/2, -self.bounds.height/2) .为什么会这样?如果我改变 _graphicLayer 的位置,我认为那只是相对于它的父 View 。为什么它会影响 View frame 属性? (而且我不想调整 View 层属性或 _graphicLayer 的 anchorPoint)。

最佳答案

你现在正在做

self.bounds = _graphicLayer.bounds;

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

_graphicLayer.bounds = self.bounds;

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

关于iphone - 将子层添加到 view.layer 会改变框架位置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14179707/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com