如何让 CGAffineTransformMakeScale 围绕其中心缩小视图?

发布于 2024-08-31 21:14:40 字数 193 浏览 12 评论 0原文

这应该是一个简单的问题 - 当我在 UIView 上使用 CGAffineTransformMakeScale 时,width = 0.5height = 0.5 code>,它缩小到左上角。我需要它围绕其中心收缩。

我怎样才能做到这一点?

This should be an easy one -- when I use a CGAffineTransformMakeScale on a UIView with width = 0.5 and height = 0.5, it shrinks to the upper left. I need it to shrink around its center.

How can I achieve that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

荒路情人 2024-09-07 21:14:40

如果您遇到相同的行为,请务必关闭自动布局!

Make sure to turn off Autolayout if you are experiencing the same behaviour!

挽容 2024-09-07 21:14:40

啊哈,弄清楚了这一点。我正在做一些自定义绘图,并且混淆了框架和边界。

Aha, figured this one out. I was doing some custom drawing and had mixed up frame and bounds.

深海里的那抹蓝 2024-09-07 21:14:40

默认情况下,CGAffineTransformMakeScale 将围绕其中心缩放 UIView。

例如:

[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationCurveEaseInOut animations:^{
    self.myView.transform = CGAffineTransformMakeScale(2, 2);
}  completion:nil ]; 

.. 将使 myView 的大小增大两倍,并围绕其中心缩放。

By default CGAffineTransformMakeScale will scale UIViews around their center.

For example:

[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationCurveEaseInOut animations:^{
    self.myView.transform = CGAffineTransformMakeScale(2, 2);
}  completion:nil ]; 

.. will make the myView twice the size, scaled around its center.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文