当我缩放图层时,结果始终设置为CGPoint(0,0)。在比例尺之后,确保图层仍然位于其超级图层中心的最佳方法是什么?
[CATransaction begin];
[CATransaction setAnimationDuration: 0];
[CATransaction setDisableActions: TRUE];
self.maskLayer.transform = CATransform3DScale(CATransform3DIdentity, .8, .8,1);
self.maskLayer.position = CGPointMake(kScreenWidth/2,kScreenHeight/2);
[CATransaction commit];
答案 0 :(得分:6)
您需要将图层的anchorPoint设置为其中心:
self.maskLayer.anchorPoint = CGPointMake(0.5, 0.5);
然后将其位置设置为其superLayer的中心
self.maskLayer.position = (CGPoint){CGRectGetMidX(superLayer.bounds), CGRectGetMidY(superLayer.bounds)};