Я пытаюсь скрыть CALayer
через несколько микросекунд, и я использую CABasicAnimation
для анимации скрыть.Анимация CALayer скрыть
На данный момент я пытаюсь использовать
[aLayer setHidden:YES];
CABasicAnimation * hideAnimation = [CABasicAnimation animationWithKeyPath:@"hidden"];
[hideAnimation setDuration:aDuration];
[hideAnimation setFromValue:[NSNumber numberWithBool:NO]];
[hideAnimation setToValue:[NSNumber numberWithBool:YES]];
[hideAnimation setBeginTime:0.09];
[hideAnimation setRemovedOnCompletion:NO];
[hideAnimation setDelegate:self];
[alayer addAnimation:hideAnimation forKey:@"hide"];
Но когда я запускаю этот слой скрыт сразу, а не ждать желаемого BeginTime.
Я не уверен в том, что мой keyPath «скрыт», но не нашел другого варианта, и в документации указано, что свойство hidden
анимации CALayer
.
Каков правильный путь к достижению того, что я ищу?
Если вы хотите, чтобы изменить мгновенно, а не гаснуть, вы можете CAKeyframeAnimation с помощью 'значение kCAAnimationDiscrete' для' calculationMode'. Вы также должны установить свойство 'fillMode'' kCAFillModeBoth'. –
Спасибо, я обязательно посмотрю на это, но есть ли причина, почему то, что я делаю в данный момент, не работает? Просто для удовлетворения моего любопытства :) –
Использование opacity ничего не изменило, к сожалению. Слой скрывается/становится прозрачным сразу, полностью игнорируя анимацию.Мой метод делегирования для анимацииDidStop также вызывается немедленно, даже если моя продолжительность составляет примерно 100 секунд (только для целей тестирования). –