2009-09-16 15 views
6

Tengo un UITabBarController en mi aplicación. En la primera vista de este controlador, tengo un UINavigatioController y el usuario puede navegar a múltiples vistas a través de este NavigationController. En la vista de raíz de este controlador, tengo mi vista frontal o vista principal de la aplicación que tiene un ícono de información, que voltea la pantalla a la página de información que es otra vista en mi aplicaciónDelegar. Así que utilizo el siguiente código de mi appdelegate para cambiar a la página de información.Cómo eliminar una barra blanca de la parte superior en iPhone

UIView * controllersView = [aboutUsViewController view]; 
[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:1]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:window cache:YES]; 
[self.window addSubview:controllersView]; 
//[aboutUsViewController animateView]; 
[self.tabBarController.view removeFromSuperview]; 
[UIView commitAnimations]; 

Mi problema es cuando doy la vuelta, veo una barra blanca muy pequeña en la parte superior. Esta barra blanca se ve solo mientras se desplaza desde la vista principal que es la primera pantalla a la página de información y no viceversa.

No estoy seguro de cómo quitar esta barra ya que tengo un UIImage que cubre toda mi página en la vista principal.

Cómo solucionar esto.

Respuesta

0

Tuve el mismo problema. Creo que esto es un error en el sistema operativo 3.1. Archivo un error con Apple. Mi solución actual era usar la transición modal estándar de deslizamiento hacia arriba. No es la mejor solución, pero al menos no se ve raro.

+0

http://bugreport.apple.com/ – slf

0

¿Ha intentado configurar wantsFullScreenLayout en su controlador de vista?

2

Si la barra solo es visible durante una transición, cambie el color de la ventana principal para que coincida con la vista que está realizando la transición. O puede hacerlo totalmente translúcido, que puede hacer lo mismo.

+0

Bueno, incluso si cambio el color de la ventana principal, el fondo cambiará significa el fondo mientras que transitan. Estoy hablando de la barra en la pantalla, que es la transición, mientras que la ventana se queda en el mismo lugar. – rkb

+0

¿Cuáles son las dimensiones de sus dos puntos de vista? Y tiene un tabBar en las primeras vistas, y ninguna en la vista de información, ¿verdad? ¿Tienes una barra de estado en una o ambas vistas? – mahboudz

0

No estoy seguro de si está mostrando la barra de estado o no, pero es posible que desee comprobar si su tamaño de UIImage va completamente a la parte superior de su vista, especialmente si lo ha agregado en IB. Además, intente configurar la configuración de caché en su transición a NO para ver si eso hace la diferencia. Utiliza más recursos, pero tuve que hacer eso para evitar que los campos de texto se borren durante una transición.

+0

Sí UIImage cubre hasta arriba. – rkb

0

Probablemente no deberías estar haciendo todas esas animaciones tú mismo. No estoy seguro de cuál es su objetivo, pero podría ser más fácil usar algo llamado "pushModalViewController" y tener un controlador para su página de información, junto con una vista. Esto puede solucionar el problema, porque puede ser algo relacionado con las animaciones.

Luego, cuando sale de su página de información, el control vuelve a su controlador de navegación (que es lo que creo que desea). Espero que esto ayude.

0

I tenía el mismo puzzle/enigma/problema: después de cambiar de nuevo a partir de una vista modal la vista subyacente tenía una barra de luz azul de estado, que mostró por medio de un segundo:

enter image description here

Sin embargo, debido Tomé esta captura de pantalla, me di cuenta de que no es la barra de estado, sino un resto distante de la barra de navegación. Cambié barra de navegación fuera en el delegado de la aplicación, pero aquí todavía, y sólo durante la transición (después de la transición UIModalTransitionStyleFlipHorizontal no había barra azul)

Por tanto, lo que hice fue darle un color translúcido:

self.title = @""; 
self.navigationController.navigationBar.tintColor = [UIColor clearColor]; 

Puede que no sea la mejor solución del mundo, pero no es un error con Apple.

Cuestiones relacionadas