preferredstatusbarstyle bar ios objective-c uinavigationcontroller statusbar

preferredstatusbarstyle - iOS oculta el color de fondo de la barra de estado BarsOnSwipe



navigation bar swift 4 (2)

Me he encontrado con el mismo problema y pude resolverlo. Soy bastante nuevo en el desarrollo de iOS, y no creo que esta solución sea infalible. No pude encontrar ninguna buena respuesta en otro lugar, así que así es como lo superé:

  1. Convertí de UITableViewController a UIViewController con un UITableView anidado. Tenga en cuenta que compruebe que el delegado en la vista de tabla hijo está configurado en UIViewController.
  2. Agregué una vista con una altura de 20 píxeles y un color de fondo que desea establecer como el "fondo" de la barra de estado. Establezca las restricciones en esa vista de la siguiente manera:

  3. En su vista de tabla, configure las restricciones para que sean básicamente de pantalla completa. Una nota importante aquí, la principal restricción es "Top Layout Guide.Top" y no a "Top Layout Guide.Bottom". De manera predeterminada, creo que esta restricción se relaciona con el fondo. Al hacer doble clic en la restricción, puede ajustarla en la parte superior. Sin esto, las celdas de encabezado de tabla no se colocaron correctamente para mí

Espero que ayude.

Cuando hidesBarsOnSwipe y hidesBarsOnSwipe la barra de navegación con la propiedad hidesBarsOnSwipe , la barra de estado tiene un fondo claro. ¿Cómo puedo establecer el fondo de la barra de estado del mismo color que la barra de navegación? Aquí hay algunas imágenes que muestran mi problema, todo esto está contenido en un UITableViewController .

Separar

Imagen separada, parece una grande.


Agregando a la respuesta de George Huber. Resolví este problema mediante programación agregando una UIView de 20 pt de altura como una subvista de la propiedad view de navigationController, en el método viewDidLoad.

- (void)viewDidLoad { [super viewDidLoad]; UIView *statusBarBG = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.bounds), 20)]; statusBarBG.backgroundColor = [UIColor navBar]; [self.navigationController.view addSubview:statusBarBG]; // REST OF CODE }