Отказ от последней строки, l.position = newPosition;
.Ваша анимация уже позаботится об этом, и, используя этот установщик свойств, вы неявно дадите слою базовую анимацию по умолчанию .25-секундное действие.
Кроме того, нет, последующие изменения в позиции вашего слояне будет использовать вашу 1-секундную анимацию.Свойства, которые вы используете, выглядят в значительной степени идентичными анимации по умолчанию, хотя, кроме продолжительности;более быстрый способ выполнить то, что вы делаете, был бы примерно таким.
CGPoint currentPosition = l.position;
CGPoint newPosition = CGPointMake(currentPosition.x + 60.0f, currentPosition.y + 60.0f);
[CATransaction begin];
[CATransaction setAnimationDuration:1.0];
l.position = newPosition;
[CATransaction commit];