tareas tarea siempre sacar quitar pongo pantalla ocultar oculta esconde cuando completa como barra objective-c iphone

objective c - tarea - UIView de pantalla completa con la barra de estado y la barra de navegación superpuestas en la parte superior



pantalla completa no esconde barra de tareas (6)

¿Cuál es la forma correcta de implementar la barra de estado y la barra de navegación que se encuentran en la parte superior de una UIView?

texto alternativo http://img.skitch.com/20081217-t78sdixk37hqgdh1ia2fgec4st.png


En la captura de pantalla de arriba, hay una barra de estado translúcida y una barra de navegación translúcida.

La barra de estado se establece usando

[[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleBlackTranslucent];

La barra de navegación se establece usando

theNavigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;


Establezca el estilo de la barra de estado como negro translúcido y el estilo de la barra de navegación como negro translúcido. Si está utilizando una aplicación basada en navegación, en la verificación MainWindow.xib, la barra de estado está oculta y la barra de navegación oculta.

Cuando el usuario toque la pantalla, inicie un temporizador para ver si se trata de un solo toque o doble toque. Si toca un solo toque, haga que la barra de estado y la barra de navegación estén ocultas = NO. y una vez que se detiene la actividad del usuario, inicie un temporizador nuevamente. después de un tiempo sin actividad, hágales esconder nuevamente.


La mejor forma en que surgió fue esta: cuando se utiliza una jerarquía "compleja" de barra de pestañas que contiene controladores de navegación, con una vista de "detalle" que es una vista de pantalla completa.

En el delegado de la aplicación justo antes de que la vista del controlador de la barra de pestañas se agregue a la ventana, agregué esto:

tabBarController.view.frame = [[UIScreen mainScreen] bounds];

Esto hará que el controlador de la barra de pestañas cubra toda la pantalla, incluso debajo del área de la barra de estado. Tuve que compensar las alturas de varias vistas a + 20px, especialmente las barras de navegación.


Si tiene un controlador de vista dentro de un controlador de navegación y desea ocultar la barra de estado para tener la vista de su viewController en pantalla completa, siempre puede llamar:

[self.navigationController.view setNeedsLayout];

después de ocultar la barra de estado. Pero yo personalmente pienso

[self setWantsFullScreenLayout:YES];

es una mejor manera.


Simplemente configure "quiere diseño de pantalla completa" en su controlador de vista. Eso resuelve el problema para mí.

self.wantsFullScreenLayout = YES;


paso 1 Establecer el UIViewControllerBasedStatusBarAppearance en No en el plist

A continuación, agregue el siguiente código en la opción de finalización de finalización

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) { [application setStatusBarStyle:UIStatusBarStyleLightContent]; self.window.clipsToBounds =YES; self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20); }

Por favor, sigue este código que funcionó para mí