【发布时间】:2012-02-04 04:03:54
【问题描述】:
如果我理解正确缩放 UIView 与 CGAffineTransform 将转换锚定到其中心。
特别是:
self.frame = CGRectMake(0,0,100,100);
self.transform = CGAffineTransformMakeScale(2, 2);
NSLog(@"%f;%f;%f;%f", self.frame.origin.x, self.frame.origin.y, self.frame.size.width, self.frame.size.height);
打印:
-50;-50;200;200
如何创建使用特定锚点(例如 0;0)的 CGAffineTransform 比例?
【问题讨论】:
-
这很奇怪,我在 iOS 7 上,它不会从中心缩放,而是从左上角缩放...即使我将锚点设置为 (0.5, 0.5) 它也不会不要从中心缩放。有人有想法吗?
-
@VanDuTran 我发现在视图的
layer上使用CATransform3D行为正确并遵守anchorPoint。尝试使用CGAffineTransformMakeScale,而不是使用CGAffineTransformMakeScale,它会以某种方式将视图限制在窗口顶部和左侧边界。 -
@JonathanLin 我使用带有 CATransform3D 的图层,这在 iOS 7 上也没有运气
标签: iphone ios scaling cgaffinetransform