我觉得你变换像这个规模后,你可以简单地改变帧:
self.backgroundImageView.layer.anchorPoint = CGPointMake(0.5, 0.5);
self.backgroundImageView.transform = CGAffineTransformMakeScale(5, 5);
更新: 如果规模前
//i am using 5 for testing purpose
self.backgroundImageView.transform = CGAffineTransformMakeScale(5, 5);
self.backgroundImageView.frame = CGRectMake(0, 0, self.backgroundImageView.frame.size.width, self.backgroundImageView.frame.size.height);
或更改锚点你在你的UIView中使用Autolayout,解决方案可能取决于你如何设置你的约束。例如,如果你设置你的图像约束是这样的:
我建议仍在使用的尺度变换,但改变顶部和左侧约束为0
,或者你设置你的形象约束这样的:
我会改变中心对齐x和y到超级视图的中心点
也许你可以让我知道你如何设置y ou约束,我可以在我的本地做一些测试。
你试过view.centre吗?或尝试应用具有平移和旋转的仿射变换。 – santhu
是的,但它似乎没有工作。我所做的是:在更改'transform'属性后,我试图将'center'分配给它的父视图的'center'。 – bohanl
我刚才提到的UIView实际上是一个'UIScrollView',但在这种情况下它并不重要 – bohanl