name mac change apple iphone core-animation subview ios

iphone - mac - ¿Desaparecer manualmente en una subvista recién agregada?



change airdrop name mac (3)

Quiero que la vista se desvanezca cuando se agregue a la pila a través de

[self.view addSubview:someSecondaryViewController.view];

¿Cómo animo esta llamada para que la vista se desvanezca (y salga)?


Establece el alfa en cero antes de animar, luego anima el alfa en uno.

[fadingView setAlpha:0.0]; [containerView addSubview:fadingView]; [UIView beginAnimations:nil context:nil]; [fadingView setAlpha:1.0]; [UIView commitAnimations];

Antes de eliminar la vista, simplemente anime el alfa a cero.

Por cierto, la jerarquía de vistas es más un árbol que una pila.

Editar:

Si no tiene ninguna otra limpieza después de que finalice la animación cuando desaparezca la vista, use:

[UIView setAnimationDelegate:fadingView]; [UIView setAnimationDidStopSelector:@selector(removeFromSuperview)];

Si ya está configurando un didStopSelector, llame a removeFromSuperview allí.


También puede usar bloques para eliminar una vista de su super vista después de que haya terminado la animación de desaparición:

[UIView animateWithDuration:0.2 animations:^{viewOut.alpha = 0.0;} completion:^(BOOL finished){[viewOut removeFromSuperview];}];


Y en Swift ...

In

someSecondaryViewController.view.alpha = 0.0 self.view.addSubview(someSecondaryViewController.view) UIView.animateWithDuration(0.2, animations: { self.someSecondaryViewController.view.alpha = 1.0 })

Out

UIView.animateWithDuration(0.2, animations: { self.someSecondaryViewController.view.alpha = 0.0 }) { (done:Bool) in self.someSecondaryViewController.view.removeFromSuperview() }