我覺得你變換像這個規模後,你可以簡單地改變幀:
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