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 ...
someSecondaryViewController.view.alpha = 0.0
self.view.addSubview(someSecondaryViewController.view)
UIView.animateWithDuration(0.2, animations: { self.someSecondaryViewController.view.alpha = 1.0 })
UIView.animateWithDuration(0.2, animations: { self.someSecondaryViewController.view.alpha = 0.0 }) { (done:Bool) in
self.someSecondaryViewController.view.removeFromSuperview()
}