2011-09-30 39 views
0

我有一個CALayer,包含少量子圖層(CATextLayers)。 我正在對CALayer上的一些常規手勢(縮放,平移)應用轉換。 除了縮放(縮放)朝向左下角而不是屏幕中心完成之外,一切都可以正常工作。CALayer anchorPoint不能按預期與CGAffineTransform一起工作

我發現在CoreAnimation編程指南一些信息,我試圖錨點設置爲我的屏幕的中心,使每一個改造將朝着錨完成....但它似乎並沒有被作爲工作預期。

這是我的代碼:

//內部init函數:

_layerMgr = [[CALayer的頁頭] INIT];

_layerMgr.frame = [[UIScreen mainScreen] bounds];

_layerMgr.anchorPoint = CGPointMake(0.5,0.5);

//做了手勢事件:

CGAffineTransform TT = CGAffineTransformMakeTranslation(offset.x, -offset.y);

CGAffineTransform ST = CGAffineTransformMakeScale(刻度,刻度);

CGAffineTransform RT = CGAffineTransformMakeRotation(旋轉);

變換= CGAffineTransformConcat(TT,CGAffineTransformConcat( ST,室溫));

_layerMgr.transform = CATransform3DMakeAffineTransform(_transform);

也許問題來自於我的子視圖?我已經使用addSubView方法......沒有什麼花哨加入他們...

回答

0

嘗試在「你的」 _layerMgr.transform變換創造,而不是一個新問題:

例如:

[_layerMgr setTransform:CGAffineTransformScale (_layerMgr.transform, 2, 2)]; 
相關問題