如果我在 myView 中有很多 subview (所有 View 都是 UIView 的实例)并且我设置了每个 subview 的变换,可能是它的 setScale、旋转等。如何知道我设置的每个 subview 的 xscale 和 yscale?
例如:
subview1.transform = CGAffineTransformMakeScale(xscale1, yscale1);
subview1.transform = CGAffineTransformRotate(subview1.transform, angle1);
subview2.transform = CGAffineTransformMakeScale(xscale2, yscale2);
subview2.transform = CGAffineTransformRotate(subview2.transform, angle2);
.
.
subviewx.transform = CGAffineTransformMakeScale(xscalex, yscalex);
subviewx.transform = CGAffineTransformRotate(subviewx.transform, angle3);
从示例用户在 subview.transform 中设置的内容,我需要在用户设置后知道 xscale 和 yscale。我认为这是要解决的一些方程式,请帮助我。 ^_^
谢谢
最佳答案
来自文档 CGAffineTransform记下函数CGAffineTransform CGAffineTransformMakeScale (
CGFloat sx,
CGFloat sy
);
.您可以像这样获得 View 的比例
view.transform = CGAffineTransformConcat(CGAffineTransformMakeScale(2.0, 0.5), CGAffineTransformMakeRotation(M_PI_4));
CGFloat xScale = view.transform.a / cosf(M_PI_4);
CGFloat yScale = view.transform.d / cosf(M_PI_4);
关于objective-c - 如何在 UIView 中获取 X-Scale 和 Y-Scale?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10891807/