0

我偶然发现了一个不应该太难解决的问题。但是,经过大量的试验和错误,我仍然没有找到解决方案。我有一个用 CGRectMake(20, 20, 40, 40) 创建的 CALayer。我现在想通过将特定值添加到 frame.size.height 和 frame.size.width 来向上缩放该图层,但是当我这样做时,该图层会向下缩放。我曾尝试修改锚点,将图层旋转 180 度++,但没有运气。希望对此有一些意见。

谢谢。

我想要的 vs 我得到的:

我想要的是 我得到了什么

4

1 回答 1

0

您只需要在修改高度的同时修改图层的 y 原点。我不确切知道您的代码是什么样的,但是如果您使用旧框架并对宽度和高度应用不断更改,如下所示:

CGRect newFrame = oldFrame;
newFrame.size.width += kWidthChange;
newFrame.size.height += kHeightChange;
_myLayer.frame = newFrame;

那么你只需要多一行,比如:

newFrame.origin.y -= kHeightChange;

在重新分配图层的框架之前。

在此处输入图像描述

于 2013-09-13T06:31:45.250 回答