Удалить UIVIew из SuperView с анимацией
Я могу оживить добавление UIView в мое приложение, оно выглядит очень красиво, поэтому спасибо apple.
однако, как мне анимировать удаление этого представления из супер-представления?
Я:
CATransition *animation = [CATransition animation];
[animation setDuration:1];
[animation setType:kCATransitionReveal];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[[myview layer] addAnimation:animation forKey:kCATransitionReveal];
для анимации перехода" in"... как вы анимируете переход "вне"????
1 ответов
анимируйте свой вид, чтобы он перемещался за пределы экрана/сжимался/расширялся / исчезал, а затем выполняйте фактическое удаление, когда анимация заканчивается.
вы можете сделать это, изменив свойства представления (положение/размер/смещение) между блоком beginAnimations/commitAnimations. Затем UIKit анимирует эти свойства в течение указанного времени.
например что-то вроде:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.30f];
view.transform =
CGAffineTransformMakeTranslation(
view.frame.origin.x,
480.0f + (view.frame.size.height/2) // move the whole view offscreen
);
background.alpha = 0; // also fade to transparent
[UIView commitAnimations];
в уведомлении о завершении анимации вы можете удалить представление.