Quiero que la barra de estado se muestra en ambas orientaciones en iOS 8; es que se muestra correctamente en iOS 7.

navigationController.isNavigationBarHidden NO devuelve.

¿Por qué es iOS 8 haciendo esto?

  • Nueva característica en iOS8. Tal vez sólo para la versión beta. Probar con la Configuración.aplicación, podrás ver el mismo comportamiento.
  • Echa un vistazo imgur.com/a/JGT4a
  • Ahora iOS 8 es la versión beta. Puede ser solucionado en la versión oficial de yo.e en Sep, lo mismo que se enfrentan cuando se han lanzado iOS 7.
InformationsquelleAutor Tim Nuwin | 2014-06-20

10 Comentarios

  1. 59

    Probar este

    Añadir a continuación el código en didRotateFromInterfaceOrientation

    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

    EDITAR

    NO HAY NECESIDAD DE ESCRIBIR CÓDIGO EN TODOS CONTROLADOR DE VISTA DE

    Conjunto de View controller-based status bar appearance a NO en plist y añadir a continuación el código en
    raíz de controlador de vista del viewDidLoad

    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

    Proyecto de demostración

    https://www.dropbox.com/s/uumneidk4wom5md/demoStatusBar.zip?dl=0

    • vamos a tener que escribir este código en cada controlador de vista, ¿verdad?
    • gracias por la repetición y el proyecto de demostración. En mi caso mi raíz controlador de vista de seguir cambiando todo el tiempo. Así que tendrá que escribir en cada raíz vista controlador
    • acabo de probar el código en una primera raíz de controlador de vista, puede ayudar a
    • Esta parece ser la mejor solución, con un menor cambio sugerido es decir, el uso de application:FinishLaunchingWithOptions: a la fuerza de la barra de estado a estado oculto.
    • buena sugerencia
    • Va a trabajar con el rasgo de recaudación no cambiar también? De verdad? Con iOS 9?;) por favor confirmar esto…
    • Que está en desuso desde iOS 9.

  2. 49

    Para mostrar barra de estado en el modo de paisaje en ios 8, pruebe el siguiente método

    - (BOOL)prefersStatusBarHidden {
        return NO;
    }

    Swift versión

    override func prefersStatusBarHidden() -> Bool {
        return false
    }

    Swift 3, Xcode 8, iOS 10, /* ViewController.swift */

    override var prefersStatusBarHidden: Bool {
            return false
        }
    • Funciona como un encanto!!
    • Para Swift : reemplazar func prefersStatusBarHidden() -> Bool { return false; }
    • Gracias. Funciona.
    • Funciona sólo si se ha establecido controlador de Vista basado en la apariencia de la barra de estado en el archivo plist para SÍ.
  3. 9

    Jageen la solución es, probablemente, la mejor, con sólo un cambio menor es decir, en lugar de utilizar viewDidLoad, es mejor usar application:didFinishLaunchingWithOptions:.

    Es básicamente un proceso de dos pasos:

    1). Conjunto de «controlador de Vista basados en la barra de estado de la apariencia» a NO, en la Información del proyecto.plist archivo.

    2). La fuerza de la barra de estado ocultos estado a NO, en application:didFinishLaunchingWithOptions:, utilizando el código siguiente:

    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

    Y, ¡voila!

    Nota: Es importante utilizar tanto la setStatusBarHidden:withAnimation declaraciones anteriores, a la fuerza de la barra de estado a estado oculto.

    • Nota: Usted no necesita llamar a [UIApplication sharedApplication] en application:didFinishLaunchingWithOptions:, porque no es un argumento del método application. Por lo tanto, sólo tiene que llamar [application setStatusBarHidden:...].
  4. 5

    Tuve el mismo problema! Fijado por este adictivo para viewDidLoad

      [self setNeedsStatusBarAppearanceUpdate];

    Y esta a la aplicación en sí misma

    -(BOOL)prefersStatusBarHidden{
        return NO;
    }
    • vamos a tener que escribir este código en cada controlador de vista, ¿verdad?
  5. 5

    No es un problema sino una característica de iOS 8. La barra de estado se oculta en el modo de paisaje en iOS 8, incluso las aplicaciones de Apple, además de tener el mismo comportamiento.

  6. 4

    Que nos está guardando un trabajo remunerado por la que nos da más trabajo.

    o…

    Que han hecho otros cambios que causa bits ocupan más espacio que antes. Con iOS 7 y el advenimiento de las cosas como el «Top Diseño de la Barra de Guía», la fácil disponibilidad de la barra de estado en el pase el dedo hacia abajo de la pantalla, la recuperación de la barra de estado espacio para ser utilizable y otros pequeños consejos muchas personas predijo la barra de estado puede estar obteniendo progresivamente como una parte estándar de la interfaz de usuario.

    También hay un poco de rumores acerca de los nuevos tamaños de los dispositivos debido a los cambios que han hecho en iOS 8 tratando de hacer más fácil el código para un montón de diferentes tamaños.

    Es pura especulación, pero yo no creo que el paisaje de la barra de estado de iOS 8.

    • voto a favor de la parte anterior
  7. 3

    Swift 3

    override func viewDidLoad() {
            super.viewDidLoad()
            UIApplication.shared.setStatusBarHidden(true, with: .none)
            UIApplication.shared.setStatusBarHidden(false, with: .none)
    ///
        }

    y agregar dentro de Info.plist este:

    UIViewControllerBasedStatusBarAppearance valor booleano NO

  8. 1

    Swift 3 (Como de 2 de junio de 2017)

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear()
        self.setNeedsStatusBarAppearanceUpdate()
    }
    
    override var prefersStatusBarHidden : Bool {
        return false
    }
  9. 0

    Lo fijado por seguir los pasos anteriores y asegurarse de que el paisaje de la izquierda y la derecha están habilitadas.

    El Marco Del Proyecto/Objetivo/Implementación Info

    En iOS8, mostrando mi app en el modo de paisaje, se oculta la barra de estado, pero en iOS 7 la barra de estado se muestra en ambas orientaciones

  10. -2

    Hemos resuelto mediante forzar un cambio de orientación no visto por el usuario. En el primer punto de vista, controlador de carga, añadir:

    - (void)viewWillAppear:(BOOL)animated
    {
        NSNumber *orientationLeft = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft];
        NSNumber *orientationRight = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeRight];
        [[UIDevice currentDevice] setValue:orientationLeft forKey:@"orientation"];
        [[UIDevice currentDevice] setValue:orientationRight forKey:@"orientation"];
    }

Dejar respuesta

Please enter your comment!
Please enter your name here