У меня есть CALayer
с изображением в нем, и он имеет несколько подслоев. Я хочу анимировать его, чтобы не иметь содержимого (без изображения), но продолжать показывать подслои. Этот код не работает:Как оживить CALayer, чтобы иметь пустое содержимое
CABasicAnimation *backgroundOut = [CABasicAnimation animationWithKeyPath:@"contents"];
backgroundOut.toValue = [NSNull null];
backgroundOut.fillMode = kCAFillModeForwards;
backgroundOut.removedOnCompletion = NO;
backgroundOut.duration = 3.0;
[_backgroundLayer addAnimation:backgroundOut forKey:@"contents"];
Вот единственный способ, которым я мог бы получить эту работу:
backgroundOut.toValue = (__bridge id)([UIImage imageNamed:@"blankImage"].CGImage);
Обратите внимание, что я не хочу возиться с непрозрачностью или что-нибудь, потому что этот слой имеет подслоев, которые должны оставаться видимыми.
Каков правильный способ анимировать пустое содержимое?
Вы пробовали backgroundOut.toValue = (id) nil? – tarmes
Да, установка toValue на nil была чем-то, что я пробовал. Это не работает, потому что это фактически означает текущую ценность. – Skotch