Cocoa touch CALayer主播点不';使用CGAffineTransform时无法按预期工作

Cocoa touch CALayer主播点不';使用CGAffineTransform时无法按预期工作,cocoa-touch,ipad,core-animation,calayer,cgaffinetransform,Cocoa Touch,Ipad,Core Animation,Calayer,Cgaffinetransform,我有一个CALayer,包含很少的子层(CATextLayers)。 我在CALayer的一些常用手势(缩放、平移)上应用变换。 除了缩放(缩放)是朝着屏幕的左下角而不是中央进行外,其他操作都非常顺利 我在CoreAnimation编程指南中找到了一些信息,我尝试将锚点设置在屏幕的中心,这样每个转换都会朝着那个锚点进行……但它似乎没有按预期工作 这是我的密码: //在init函数内部: _layerMgr=[[CALayer alloc]init] _layerMgr.frame=[[UIScr

我有一个CALayer,包含很少的子层(CATextLayers)。 我在CALayer的一些常用手势(缩放、平移)上应用变换。 除了缩放(缩放)是朝着屏幕的左下角而不是中央进行外,其他操作都非常顺利

我在CoreAnimation编程指南中找到了一些信息,我尝试将锚点设置在屏幕的中心,这样每个转换都会朝着那个锚点进行……但它似乎没有按预期工作

这是我的密码:

//在init函数内部:

_layerMgr=[[CALayer alloc]init]

_layerMgr.frame=[[UIScreen mainScreen]边界]

_layerMgr.anchorPoint=CGPointMake(0.5,0.5)

//完成手势事件:

CGAffineTransform tt=CGAffineTransformMakeTransform(offset.x, -偏移量(y)

CGAffineTransform st=CGAffineTransformMakeScale(比例,比例)

CGAffineTransform rt=CGAffineTransformMakeRotation(旋转)

transform=CGAffineTransformConcat(tt,CGAffineTransformConcat( st,rt)

_layerMgr.transform=CATTransformM3dMakefaffineTransform(_transform)

也许问题来自我的子视图?我使用addSubView方法添加了它们…没什么特别的…

尝试在“您的”图层上进行变换\u layerMgr.transform,而不是创建一个新的:

例如:

[_layerMgr setTransform:CGAffineTransformScale (_layerMgr.transform, 2, 2)];