Quiero diseñar un controlador de vista/vista que automáticamente muestra/oculta una subvista cuando está en orientación horizontal. Quiero que la subvista desaparezca por completo y otras subvistas ocupen su espacio.¿Cómo ocultar un UIView por completo al cambiar de orientación?
El uso de un UIViewController, escribí código que establece la propiedad marco de las subvistas y lo llaman en:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration;
Esto resuelve el problema de la mayoría de las veces, pero tiene problemas cuando el cambio de orientación que está sucediendo cuando la vista no está apareciendo de pasar por alto esto, yo también estoy llamando el método de cambio de tamaño en:
- (void)viewWillAppear:(BOOL)animated;
pero esto no tiene problemas en algunos casos poco frecuentes (que implican un UISearchDisplayController), así que también estoy llamando el método de cambio de tamaño en
- (void)viewDidAppear:(BOOL)animated;
Como puede comprender, no estoy satisfecho con este código y estoy buscando una forma mejor/más eficaz de hacerlo.
¿Alguna idea?
Ofrezco una recompensa por esta pregunta. En mi caso, tengo un UIWebView en el centro de mi vista, con un anuncio publicitario en la parte inferior. Quiero eliminar el banner publicitario y cambiar el tamaño de UIWebView para llenar el espacio faltante al cambiar el tamaño. Intenté simplemente eliminar el banner de la supervista, pero el UIWebView no cambia de tamaño para llenar el espacio vacío (aunque todas las máscaras de aumento automático están habilitadas). –