En mi iOS aplicación de vídeo en la barra de estado que está escondido en algún punto de vista de los controladores. Esto lo he hecho usando el siguiente código.

[[UIApplication sharedApplication] setStatusBarHidden:YES];
  • Funciona en iOS 5 y iOS 6 , pero no en iOS 7.

  • He intentado con este en particular controlador de vista,

Por ejemplo:

-(BOOL)prefersStatusBarHidden { return YES; }

Funciona bien, pero no puedo mostrar barra de estado de nuevo en la vista principal del controlador.

  • stackoverflow.com/questions/18059703/…
  • Si la barra de estado se encuentra en el Guión gráfico, después de cambiar el «punto de Vista basado en controlador de la barra de estado» (abajo), el estilo puede ser establecido en el plist debido a que el controlador de vista de la configuración ya no se utiliza. stackoverflow.com/questions/18924345/…
  • He contestado en otra pregunta. Intenta esto. [ la forma más fácil de ocultar la barra de estado mediante programación][1] [1]: stackoverflow.com/a/27339754/3718498
  • He utilizado un truco para ella – me la publicó como pod cocoapods.org/pods/UIViewController+ODStatusBar, espero que sea útil para cualquier persona
  • Las respuestas aquí ahora han quedado obsoletos. He tenido problemas para encontrar la respuesta correcta para iOS 9, al ocultar la barra de estado SÓLO PARA LA PANTALLA de inicio, por lo que la vinculación de abajo, de modo que esperamos que este sea más fácil para los demás a encontrar cómo hacerlo: stackoverflow.com/questions/34413848/…
InformationsquelleAutor Susitha | 2013-09-24

21 Comentarios

  1. 275

    Debe agregar este valor a plist: «Vista basada en el controlador de la barra de estado apariencia» y seleccione «NO«.

    Cómo ocultar la barra de estado de iOS

    • Para referencia, primas clave es UIViewControllerBasedStatusBarAppearance
    • ¿Qué necesito hacer si quiero establecer preferredStatusBarStyle para el trabajo que necesito "View controller-based status bar appearance" set it to "YES". ?
    • es este que se hace referencia en algún lugar en apple docs?
    • developer.apple.com/library/ios/documentation/userexperience/…
    • a mí me funcionó. thnx
    • No trabajo para mí …
    • qué problema que se enfrenta?
    • parece obsoleto, se rompe su aplicación
    • Es obsoleto de iOS 9.0
    • Para mí, es necesario junto con la solicitud:didFinishLaunchingWithOptions{aplicación.statusBarHidden = SÍ;} – vio esto en stackoverflow.com/questions/32965610/…
    • se va a trabajar pero me sale advertencia como esta echa un vistazo a continuación enlace..stackoverflow.com/questions/31872650/…

  2. 187

    Agregar lo siguiente a tu Info.plist:

    <key>UIStatusBarHidden</key>
    <true/>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
    

    Cómo ocultar la barra de estado de iOS

  3. 111

    Agregar la siguiente línea en viewdidload

      [[UIApplication sharedApplication] setStatusBarHidden:YES
                                            withAnimation:UIStatusBarAnimationFade];
    

    y añadir un nuevo método de

      - (BOOL)prefersStatusBarHidden {
              return YES;
      }
    

    también cambiar la información.archivo plist
    Controlador de vista basados en la barra de estado de la apariencia» = NO

    sus obras para mí

    • Thanx este trabajo para mí, pero necesito agregar debajo de la fila en plist también. «Controlador de vista basados en la barra de estado de la apariencia» = N i,e Añadir la siguiente línea en viewdidload [[UIApplication sharedApplication] setStatusBarHidden:SÍ withAnimation:UIStatusBarAnimationFade]; y añadir un nuevo método – (BOOL)prefersStatusBarHidden { return SÍ; } Añadir «controlador de Vista basados en la barra de estado de la apariencia» = NO en el archivo Plist
    • Esto es lo que yo estaba buscando, funciona reja.
    • prefersStatusBarHidden es lo que hizo el truco para mí (si con esta solución de con otros de similares características)
  4. 33

    En el Plist agregar las siguientes propiedades.

    Status bar is initially hidden = YES
    
    View controller-based status bar appearance = NO
    

    ahora la barra de estado ocultos.

    • Raw claves sería UIStatusBarHidden y UIViewControllerBasedStatusBarAppearance
  5. 27

    Pruebe este sencillo método:


    Objective-C:

    - (void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated]
        [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
    }
    
    - (void)viewWillDisappear:(BOOL)animated
    {
        [super viewWillDisappear:animated]
        [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
    }
    

    Swift:

    override func viewWillAppear(animated: Bool) 
    {
        super.viewWillAppear(animated)
        UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
    }
    
    override func viewWillDisappear(animated: Bool) 
    {
        super.viewWillDisappear(animated)
        UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: UIStatusBarAnimation.None)
    }
    
    • Esta fue una maravillosa respuesta! También intente con los diversos UIStatusBarAnimations, que son bastante grandes.
    • Al parecer, esto no funciona para mí
    • No olvides [super viewWillAppear:animated] y [super viewWillDisappear:animated]
    • Esta sencilla solución que funcionó para mí iOS 10. Manera de ser hombre sencillo!
  6. 14

    Hice lo siguiente y parece que funciona (incluso en iOS 8):

    - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
    {
        if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
    
            [[UIApplication sharedApplication] setStatusBarHidden:YES];
        }
    }
    
    - (BOOL)prefersStatusBarHidden {
        return YES;
    }
    
  7. 12
    • UIApplication.setStatusBarX están en desuso como de iOS9
    • Es obsoleto tener UIViewControllerBasedStatusBarAppearance=NO en la información.plist
    • Por lo que debe ser el uso de preferredStatusBarX en todos nuestro punto de vista de los controladores de

    Pero se pone más interesante cuando hay un UINavigationController involucrados:

    • Si navigationBarHidden = true, el niño UIViewController del preferredStatusBarX son llamados, ya que el niño está mostrando el contenido en la barra de estado.
    • Si navigationBarHidden = false, el UINavigationController del preferredStatusBarX son llamados, después de todo es mostrar el contenido en la barra de estado.
    • La UINavigationController predeterminado de preferredStatusBarStyle utiliza el valor de UINav.navigationBar.barStyle. .Valor predeterminado = negro de la barra de estado contenido .Negro = blanco de la barra de estado contenido.
    • Así que si usted está estableciendo barTintColor a algunos de colores personalizados (que probablemente lo son), también deberá establecer barStyle a .Negro para conseguir el blanco de la barra de estado contenido. Me gustaría establecer barStyle a negro antes de establecer barTintColor, en caso de que barStyle anula el barTintColor.
    • Una alternativa es que usted puede subclase UINavigationController en lugar de al rededor de estilo de la barra.
    • Sin EMBARGO, si usted subclase UINavigationController, no se obtiene ningún control sobre la barra de estado si navigationBarHidden = true. De alguna manera UIKit que va directo a el niño UIViewController sin pedir la UINavigationController en esta situación. Yo habría pensado que debe ser el UINavigationController responsabilidad para pedir que el niño >se encoge de hombros<.
    • Y modalmente muestra UIViewController sólo obtener un decir en la barra de estado si modalPresentationStyle = .Pantalla completa.
    • Si tienes una presentación personalizada de estilo modal de controlador de vista y usted realmente desea para el control de la barra de estado, se puede establecer modalPresentationCapturesStatusBarappearance = true.
    • ¿Por qué no puede apple acaba de seguir un consejo? Si no está roto, no lo arregles!
  8. 9

    Ocultar la barra de estado en iOS7 necesita 2 líneas de código

    1. de aplicación:(UIApplication *)aplicación didFinishLaunchingWithOptions:(NSDictionary *)launchOptions escribir

       [[UIApplication sharedApplication] setStatusBarHidden:YES];
      
    2. de información.plist agregar este

       View-Controller Based Status Bar Appearance = NO
      
  9. 8

    Para la mejor comprensión de agregar algunas fotos con los comentarios:

    App antes de hacer cualquier cambio

    Cómo ocultar la barra de estado de iOS

    Encuentra en su Project Navigator carpeta con el nombre Supporting Files y haga clic en *.plist archivo

    Cómo ocultar la barra de estado de iOS

    Después de que usted va a obtener la diferente configuración de la aplicación mostró. Usted necesita agregar 2 llaves UIStatusBarHidden y UIViewControllerBasedStatusBarAppearance. Usted puede hacer esto simplemente haciendo clic en el botón +

    Cómo ocultar la barra de estado de iOS

    Después de pulsar + usted puede elegir uno de los principales – acaba de empezar a escribir.

    Versión correcta:

    Cómo ocultar la barra de estado de iOS

    Y, finalmente, la aplicación después de la aplicación de este cambios:

    Cómo ocultar la barra de estado de iOS

    También, usted puede encontrar alternativas de solución aquí

  10. 7

    Intentar que;

    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
    
    • Gran. Yo era capaz de utilizar esto para ocultar la barra de estado del controlador de vista de que no era necesario, a continuación, en mostrar que una vez que el usuario ha iniciado la sesión.
  11. 7

    En iOS10 todo lo que necesitaba para hacer es reemplazar el prefersStatusBarHidden var en mi RootViewController (Swift):

    override var prefersStatusBarHidden: Bool {
        return true
    }
    
  12. 5

    Para ocultar la barra de estado en iOS7:

    Abrir Su plist-archivo, a continuación, añadir una añada una fila llamada «controlador de Vista basados en la barra de estado de la apariencia» y establezca su valor a NO.

    • No me funciona ahora (ios 9, swift).
  13. 5

    Aquí es el Swift versión (pre iOS9):

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
    }
    
    override func viewWillDisappear(animated: Bool) {
        super.viewWillDisappear(animated)
        UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: UIStatusBarAnimation.None)
    }
    

    Esto también funciona (iOS7+):

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

    También deberá llamar a:

    setNeedsStatusBarAppearanceUpdate()
    

    en decir viewDidLoad().

    Tenga en cuenta que si utiliza un SplitView de controlador, o de algún otro container controlador de vista, también es necesario tener que volver a su clase cuando su enviado childViewControllerForStatusBarHidden. Una manera de hacer esto es tener un público débil var para decir statusController, y devolverlo en este método reemplazado.

    • El bloque superior es obsoleta en iOS8 – utilizar el segundo método. Y gracias! He editado el código para agregar otra llamada obligatoria.
  14. 4

    Debe agregar este valor a plist: «controlador de Vista basados en la barra de estado de la apariencia» y seleccione «NO».

  15. 4

    Pasos para ocultar la barra de estado de iOS

    1. abierto AppDelegate.m archivo, agregar a la aplicación.statusBarHidden en el método didFinishLaunchingWithOptions

     - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        //Override point for customization after application launch.
        application.statusBarHidden = YES;
        return YES;
        }
    
    1. abrir info.plist y establecer

    View controller-based status bar appearance conjunto NO

  16. 4

    iOS 9 en adelante :

    Como statusBarHidden método fue Obsoleto de iOS9 necesita agregar dos valores en plist de la siguiente manera :

    <key>UIStatusBarHidden</key>
    <true/>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
    

    o por la Interfaz de Usuario por Favor, refre la siguiente imagen :

    Cómo ocultar la barra de estado de iOS

    Como statusBarHidden es Obsoleto de iOS9 :

    @property(readwrite, nonatomic,getter=isStatusBarHidden) BOOL
    statusBarHidden NS_OBSOLETO_IOS(2_0, 9_0, «Uso -[UIViewController
    prefersStatusBarHidden]») __TVOS_PROHIBIDAS;

  17. 4

    SOLUCIÓN FIJA PARA SWIFT 3+ (iOS 9, 10)

    1 – En info.plist debajo de propiedad

    Cómo ocultar la barra de estado de iOS

    2 – Pegar a continuación el código a Raíz de la controladora , A

     private var isStatusBarHidden = true {
            didSet {
                setNeedsStatusBarAppearanceUpdate()
            }
        }
    
        override var prefersStatusBarHidden: Bool {
            return isStatusBarHidden
        }
    

    Puede llamar isStatusBarHidden = true y isStatusBarHidden = false donde desea hide/show barra de estado

  18. 2

    De UIKit>UIApplication.h:

    //Setting statusBarHidden does nothing if your application is using the default UIViewController-based status bar system.
    @property(nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden;
    - (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation NS_AVAILABLE_IOS(3_2);
    

    Así debe establecer View controller-based status bar appearance para NO

  19. 2

    Para responder a la Susitha la pregunta: uso setNeedsStatusBarAppearanceUpdate. Esto hará una llamada a prefersStatusBarHidden para actualizar con el estado deseado de la barra de estado. Intente esto:

        @property (nonatomic, getter=isHideStatusBar) BOOL hideStatusBar; //Give this a default value early
    
        - (BOOL)prefersStatusBarHidden {
            return self.isHideStatusBar;
        }
    
        - (void)someMethod {
        //triggered by an event or user action
        [self setHideStatusBar:YES];
        [self setNeedsStatusBarAppearanceUpdate];
        }
    

    Si quieres ver la barra de estado de nuevo, establezca su propiedad hideStatusBar (o como se llame) para que NO. Llame preferStatusBarHidden indirectamente por hacer otra llamada a

    [self setNeedsStatusBarAppearanceUpdate]
    
  20. 2

    Swift 5

    Utilice los siguientes pasos para ocultar la Barra de Estado de iOS:

    1. Abierto en Info.plist.
    2. Agregar una nueva clave de Vista basada en el controlador de la barra de estado apariencia y el valor establecido para NO.
    3. Agregar una nueva clave de barra de Estado está oculto inicialmente y el valor establecido para .
    4. Volver a compilar el proyecto.
    5. Barra de estado debe oculta en iOS teléfono ahora.

    Final De La Configuración De Captura De Pantalla:

    Cómo ocultar la barra de estado de iOS

    Este está trabajando en Xcode 10.2

  21. 1

    Actualización para Swift 3:

    Actualizar La Información.plist con la siguiente información:

    View controller-based status bar appearance: NO

    Entonces, en un ViewController o en otros lugares:

    UIApplication.shared.isStatusBarHidden = true

Dejar respuesta

Please enter your comment!
Please enter your name here