【发布时间】:2014-11-28 23:23:14
【问题描述】:
我正在尝试使用:
CGAffineTransform original = mv.transform;
CGAffineTransform new = CGAffineTransformScale(original, 2, 2); 缩放 UiView 及其 UIImageView 子视图
但这会导致 ImageView 偏离其开始的位置:
在转换之前,图像视图(书)位于紫色圆圈的中心。这在转换后显示(在弹簧动画块中完成)
因为记录自动布局在 IB 中关闭
【问题讨论】:
-
@Andy 我确实使用自动布局将图像视图居中,但即使我在执行转换之前删除了约束,问题仍然存在
-
我仍然相信它的自动布局在惹恼你。您是否考虑过使用 CALayer/CAShapeLayer?我知道让它们居中是额外的工作,但值得一试。在我用 translatesAutosizingMaskTo 将其关闭之前,我在自动布局上也有类似的行为......这里有一个相当全面的研究stackoverflow.com/questions/12943107/…
-
我尝试使用自动布局(centerX 和 centerY)将子视图居中在较大的视图中。它工作得很好。你确定你的“书”是紫色圆圈的子视图吗?
-
@Andy 是的,它绝对是自动布局。我没有添加任何约束并使用它的 frame 属性设置视图,它工作得很好。
-
@rdelmar 您是否在设置 centerX 和 centerY 约束时也设置了视图的高度和宽度约束?我在 imageview 中添加了 centerX、centerY 以及高度和宽度约束。
标签: ios objective-c cocoa-touch autolayout cgaffinetransformscale