2010-04-10 2 views
0

На iPhone, когда вы добавляете подслойный слой к слою видимого вида, используя либо -addSublayer: или -removeFromSuperlayer, не следует, чтобы этот подъярус отображался или исчезал анимированным образом (т. Е. постепенно исчезают или постепенно исчезают)? Моя программа анимирует с помощью слоев (а не видов). Когда я изменяю свойство слоя, такого как положение или содержимое изображения, тогда изменение делает анимированный (слой заходит вокруг его родительского слоя, слой исчезает со старого изображения на новое изображение), поэтому я, очевидно, имею слои & правильно настроить установку , Однако, когда я добавляю или удаляю дополнительный уровень, это происходит мгновенно; анимации нет.анимация добавления/удаления слоев на iPhone

Считывая ссылки, он говорит, что если слой видимый, подслой должен анимироваться при суммировании или удалении.

Что я делаю неправильно? У кого-то была аналогичная проблема, и он смог найти решение?

+0

Добавление подслоев по умолчанию не анимируется. Где вы прочитали, что подслой должен анимировать при добавлении или удалении? – Tom

ответ

3

Если вы хотите замирание вы можете использовать следующую CATransition:

CATransition* transition = [CATransition animation]; 
transition.delegate = nil; 
transition.duration = 0.3; 
transition.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseOut]; 
transition.type = kCATransitionFade; 
[theLayer addAnimation: transition forKey: nil]; 

Просто убедитесь, что #import <QuartzCore/QuartzCore.h> и связать рамки. Вызовите этот блок перед добавлением или удалением подслоев.