Другой способ сделать это:
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:2.5f] forKey:kCATransactionAnimationDuration];
//Perform CALayer actions, such as changing the layer contents, position, whatever.
aCALayerObject.contents = [self newCALayerContents];
[CATransaction commit];
Этот код оживит изменение содержимого CALayer в течение 2,5 секунд. Вы также можете использовать это, чтобы полностью отключить все анимации. Как это:
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];