我花了很多時間試圖找到一種方法來使用CGAffineScale將視圖轉換爲給定點,包括調整錨點,移動中心轉換前後的視圖和全面的谷歌搜索。我知道這對於UIScrollview會簡單很多;但我知道在沒有人的情況下做到技術上是可行的,而且在我看來這已成爲一個分裂。如何將UIView縮放(縮放)到給定的CGPoint
This answer非常接近我想要達到的目標,但答案只給出瞭如何通過巧妙地將中心移動到與您想要的對角相對的角落來放大給定角(而不是給定點)的細節放大。
如何修改mvds' code以將UIView縮放到UIView中的任何給定點?
CGFloat s = 3;
CGAffineTransform tr = CGAffineTransformScale(self.view.transform, s, s);
CGFloat h = self.view.frame.size.height;
CGFloat w = self.view.frame.size.width;
[UIView animateWithDuration:2.5 delay:0 options:0 animations:^{
self.view.transform = tr;
self.view.center = CGPointMake(w-w*s/2,h*s/2);
} completion:^(BOOL finished) {}];
非常感謝您的回答。我確實嘗試過,但它仍然放大了不正確的一點。我也試着在紙上畫這個,但是邏輯沒有解決。 – glenstorey