ios objective-c ios7 ios7-statusbar

Agregue el banner de UIView encima de la barra de estado iOS 7



objective-c ios7 (2)

Intento agregar un banner encima de la barra de estado cuando recibo una notificación de inserción en la aplicación. Según lo que he estado leyendo, parece que la única forma de cambiar dinámicamente el estilo de la barra de estado en iOS 7 es establecer UIViewControllerBasedStatusBarAppearance en NO . Esto no solo es realmente molesto al tener que cambiar todos mis diferentes controladores de vista, prefersStatusBarHidden a [UIApplication sharedApplication].statusBarHidden , pero tampoco da el efecto que estoy buscando.

Cuando la pancarta se desliza desde la parte superior, aún quiero los 20 pts de espacio que la barra de estado proporciona para permanecer, pero el contenido de la barra de estado desaparece hasta que la pancarta se desliza hacia atrás. ¿Hay alguna manera de hacer esto o agregar una subvista o ventana encima de la barra de estado?

Básicamente estoy buscando hacer esto:


Cree una nueva ventana y agregue su vista de pancarta a esa ventana. Cuando necesite mostrar el banner, puede configurar yourwindow.hidden = NO; Puede agregar animaciones adicionales para mostrarlo y descartarlo yourwindow.hidden = YES; .

La clave aquí es establecer yourwindow.windowLevel = UIWindowLevelStatusBar+1;

Eso asegurará que su vista de pancarta y su yourwindow siempre aparezcan sobre la barra de estado.

No dude en hacer preguntas sobre cualquiera de los anteriores.


Para poner tu controlador de vista encima de la barra de estado:

[[[[UIApplication sharedApplication] delegate] window] setWindowLevel:UIWindowLevelStatusBar+1];

Para poner su controlador de vista detrás de la barra de estado:

[[[[UIApplication sharedApplication] delegate] window] setWindowLevel:UIWindowLevelNormal];