使用CGAffineTransformScale()设置视图变换时防止子视图调整大小

Tho*_*lin 5 ios

如果我做 :

view.transform = CGAffineTransformScale(view.transform, s, s);
Run Code Online (Sandbox Code Playgroud)

我的视图是缩放的,但也是它的子视图......我不希望子视图改变大小.显然autoresizesSubviews对这件事没有影响

Sun*_*wda 0

也许您在父视图上应用变换后添加子视图(并使用父视图的框架值来设置大小)。至少我当时就是这么做的。

我必须通过应用反转来弥补这一点

CGRect parentOriginalFrame = CGRectApplyAffineTransform(parentView.frame, CGAffineTransformInvert(parentView.transform));
Run Code Online (Sandbox Code Playgroud)

现在,使用父级的原始框架,您可以为子级设置正确的框架值。