Ios 是什么阻止子层与父层一起移动?

Ios 是什么阻止子层与父层一起移动?,ios,core-animation,calayer,Ios,Core Animation,Calayer,使用下面的代码,在需要的地方绘制子层1和子层2。当动画发生时,子层1按预期移动,而子层2最初向上向左移动,然后向下向右移动。(2在1内不在同一位置) 他们不是应该一起搬家吗?知道他们为什么不知道吗?我现在正试图坚持“隐式”动画的解决方案。不应该[sublayer1 addSublayer:flowerlayer]be[子层1添加子层:子层2]?从底部向上的第三行导致了不稳定的行为 - (void)moveBlueLayer { // Create a new position for an

使用下面的代码,在需要的地方绘制子层1和子层2。当动画发生时,子层1按预期移动,而子层2最初向上向左移动,然后向下向右移动。(2在1内不在同一位置)


他们不是应该一起搬家吗?知道他们为什么不知道吗?我现在正试图坚持“隐式”动画的解决方案。

不应该
[sublayer1 addSublayer:flowerlayer]be
[子层1添加子层:子层2]

从底部向上的第三行导致了不稳定的行为

- (void)moveBlueLayer
{
   // Create a new position for animation to move to
   CGPoint endPostition = CGPointMake(190, 285);

   [CATransaction setAnimationDuration:4];
   // Next line causing the problem
   // sublayer1.bounds = CGRectMake(130, 190, 120, 190);
   sublayer1.position = endPostition;
}

罪犯在倒数第三行<代码>子层1。不应设置边界
。是。那是个打字错误。纠正这一点。
- (void)moveBlueLayer
{
   // Create a new position for animation to move to
   CGPoint endPostition = CGPointMake(190, 285);

   [CATransaction setAnimationDuration:4];
   // Next line causing the problem
   // sublayer1.bounds = CGRectMake(130, 190, 120, 190);
   sublayer1.position = endPostition;
}