до добавление слоя к вашему виду с помощью, например, [self.layer addSublayer:yourCALayer]
, а также после того, как он уже добавлен, вы можете отключить определенные анимированные свойства вашего CALayer, перезаписав ключ анимации.Ключ, который вы установили в NULL, назван в честь свойства, здесь показано, как это было сделано для layer.position = CGPoint(x,y);
yourCALayer.actions = [NSDictionary dictionaryWithObject:[NSNull null] forKey:@"position"];
Поскольку свойство actions
является NSDictionary, который не позволяет хранить nil
васустановить явное значение для объекта NULL с помощью [NSNull null]
, что совпадает с (id)kCFNull
Вы можете сделать это для всех подуровней, выполнив итерацию по всем подуровням слоя представлений с помощью ...
for (CALayer *iterationLayer in self.layer.sublayers ) {
iterationLayer.actions = [NSDictionary dictionaryWithObject:[NSNull null] forKey:@"position"];
//or for multiple keys at once
NSNull *nop = [NSNull null];
iterationLayer.actions = [NSDictionary dictionaryWithObjects:@[nop,nop] forKeys:@[@"position",@"contents"]];
}