Добавить подслой в CALayer без анимации? - PullRequest
1 голос
/ 26 июля 2010

Как добавить подслой в CALayer без анимации? Обычно, когда вы добавляете один, он « исчезает в », а когда вы удаляете один, он «исчезает».

Как подавить анимацию?

Ответы [ 3 ]

6 голосов
/ 27 июля 2010

Вы пробовали это:

[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue
                 forKey:kCATransactionDisableActions];
[layer addSublayer:sublayer];
[CATransaction commit];

от Apple Docs ?

2 голосов
/ 11 августа 2010

Вы также можете подавить неявную анимацию добавления слоя, установив словарь действий на суперслое, как я описал в этот ответ :

NSMutableDictionary *newActions = [[NSMutableDictionary alloc] initWithObjectsAndKeys:[NSNull null], @"sublayers", nil];
superlayer.actions = newActions;
[newActions release];
0 голосов
/ 21 июля 2013

Вы можете использовать

[CATransaction setAnimationDuration:0.0f];
...