有没有一种简单的方法可以告诉CGAffineTransform不缩放缩放视图的子视图的帧? view.autoResizeMask = false在这种情况下似乎不起作用。唯一有点“工作”的是扭转子视图的转换,比如
for subview in view.subviews {
(subview as! UIView).transform = CGAffineTransformInvert(view.transform)
}
然而,就计算时间而言,这需要花费10倍的时间并且不灵活。有人知道任何其他更有效的方法,缩放帧的起源,但没有它们的界限吗?
答案 0 :(得分:0)
据我了解,这就是变换的工作方式。听起来你可能会更好地使用不会缩放超级视图的设计,尽管缩小子视图的解决方案非常聪明。 :)
您至少可以缓存反转变换以节省一些计算:
let inverse = CGAffineTransformInvert( view.transform )
for subview in view.subviews {
(subview as! UIView).transform = inverse
}
答案 1 :(得分:0)
视图以圆圈排列。我有一个捏手势识别器,所以当我捏我缩放圆圈时,视图从中心进一步移动。但是,由于这种缩放,我不希望它们变得更大。
嗯,这是你的问题。你只是懒得进行缩放变换。随着捏合手势的进行,您需要实际放大圆圈并重新定位视图。