如何让 CGAffineTransform Scale 围绕其中心缩小视图?
Posted
技术标签:
【中文标题】如何让 CGAffineTransform Scale 围绕其中心缩小视图?【英文标题】:How do I get a CGAffineTransformMakeScale to shrink a view around its center? 【发布时间】:2010-05-03 21:39:34 【问题描述】:这应该很简单——当我在UIView
上使用CGAffineTransformMakeScale
与width = 0.5
和height = 0.5
时,它会缩小到左上角。我需要它围绕它的中心收缩。
我怎样才能做到这一点?
【问题讨论】:
【参考方案1】:如果您遇到相同的行为,请务必关闭自动布局!
【讨论】:
【参考方案2】:啊哈,想通了。我正在做一些自定义绘图并且混淆了框架和边界。
【讨论】:
您好,您可以扩展您的回答/问题吗?这个问题在谷歌上排名很高。全世界都在注视着;) 在设置新变换之前保存中心,然后在完成后重新设置中心。【参考方案3】:默认情况下,CGAffineTransformMakeScale 将围绕 UIView 的中心缩放。
例如:
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationCurveEaseInOut animations:^
self.myView.transform = CGAffineTransformMakeScale(2, 2);
completion:nil ];
.. 将使 myView 的大小增加一倍,并围绕其中心缩放。
【讨论】:
以上是关于如何让 CGAffineTransform Scale 围绕其中心缩小视图?的主要内容,如果未能解决你的问题,请参考以下文章
我如何使用 CGAffineTransform 进行正确的拖放
如何使用 CGAffineTransform Scale 从右到左添加动画和放大动画