【发布时间】:2011-09-30 19:13:17
【问题描述】:
我有一个 CALayer,包含几个子层 (CATextLayers)。 我正在对 CALayer 应用一些常用手势(缩放、平移)的转换。 除了向左下角而不是屏幕中心进行缩放(缩放)之外,一切都运行良好。
我在 CoreAnimation 编程指南中找到了一些信息,我尝试将锚点设置为我的屏幕中心,以便每次转换都会朝着该锚点完成......但它似乎没有按预期工作.
这是我的代码:
// init 函数内部:
_layerMgr = [[CALayer alloc] init];
_layerMgr.frame = [[UIScreen mainScreen] bounds];
_layerMgr.anchorPoint = CGPointMake(0.5, 0.5);
// 在手势事件上完成:
CGAffineTransform tt = CGAffineTransformMakeTranslation(offset.x, -偏移量.y);
CGAffineTransform st = CGAffineTransformMakeScale( scale ,scale );
CGAffineTransform rt = CGAffineTransformMakeRotation(rotation);
变换 = CGAffineTransformConcat( tt, CGAffineTransformConcat( st,rt));
_layerMgr.transform = CATransform3DMakeAffineTransform(_transform);
也许问题来自我的子视图?我已经使用 addSubView 方法添加了它们...没什么特别的...
【问题讨论】:
标签: cocoa-touch ipad core-animation calayer cgaffinetransform