2011-05-30 69 views
1

我很好奇。在我的應用程序中,我正在運行一個動畫,其中視圖的大小會稍微調整一些。我創建的變換是這樣的:CGAffineTransformation設置錨點?

CGAffineTransform resize = CGAffineTransformMakeScale(0.8, 0.8); 

然而,當我將此轉化爲我的觀點,看它運行,它從頂部調整大小和朝向底部收縮。我想要的是它在各個方向均勻調整大小,並朝向中心縮小,就好像一個「錨點」位於中心。你知道我在說什麼?這可能嗎?

回答

1

首先應用CGAffineTransformMakeTranslation移動原點到中心 - 複合成一個單一的與CGAffineTransformConcat

+0

似乎並不準確,但嘿,它的工作原理。謝謝! – 2011-05-30 23:48:10

4

變換首先添加Quartz框架到您的項目和進口石英頭

#import <QuartzCore/QuartzCore.h> 

然後您可以像這樣設置您的視圖的定位點

myView.layer.anchorPoint = CGPointMake(0, 0); 

AnchorPoint點的值介於0和1之間。0,0是t他在iPhone的左上角。

+0

那麼如果中心在0-1之間,中心會是什麼? – 2011-05-30 23:43:31

+0

CGPointMake(0.5,0.5); – Sascha 2011-05-30 23:47:41

+0

那麼,問題是我不是指窗口的中心,我的意思是我想窗口調整自己的中心。它實際上偏離了中心位置。不過感謝您的幫助! – 2011-05-30 23:49:02