缩放UIView而不缩放子视图

7
我试图对一个UIView进行缩放,但是不想缩放其子视图,或者在我的情况下,我只想让子视图在一个轴上缩放。 我需要这个层次结构,因为我设置了一些手势识别器来检测平移和旋转,并且我希望这些与父视图同时发生。
然而,我不希望缩放同时发生。 对于某些子视图,我希望它仅在垂直或水平方向上缩放,或者根本不缩放。
在对UIView使用CGAffineTransform时,是否有一种方法可以控制其子视图的自动缩放?
2个回答

4

如果您确保了子视图的自动调整大小掩码设置正确,您可以更改容器UIView的框架(它是可动画化的),而子视图将不会改变大小(如果您的调整大小掩码是正确的)。关闭containerView.autoresizesSubviews并更改框架也应该可以工作。


0

将视图的autoresizesSubviews属性设置为NO,默认情况下为YES


5
我已经尝试过这个方法,也尝试了不同配置的自动调整掩码,但没有任何改变。我还尝试将autoresizesSubviews和autoresizingMask应用于父UIView及/或其子视图,并尝试了所有可能的配置,但仍然没有改变。目前我采取的做法是,在对父UIView应用CGAffineTransform后,立即将其缩放比例反转到其子视图。虽然这种方法有效,但我觉得并不是最合适的方式,我想可能是我忽略了autoresizesSubviews或者autoresizingMask中的某些问题。 - jglievano

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接