web-dev-qa-db-fra.com

Hauteur de la barre d'état de l'iPhone X

J'ai développé une application sans autoLayout ou interface-builder, le tout par code. Il fonctionne bien dans tous les iPhones sauf iPhone X où la barre supérieure reste sous la nouvelle chose noire au milieu.

Il est possible d'obtenir cette hauteur par code, donc je peux déplacer ma Navigationbar cette hauteur vers le bas et tout fonctionne normalement?

Les solutions que je vois, ils utilisent la mise en page automatique.

Je veux juste obtenir la distance pour la réduire ..

11
F79

Dans mon Swift, j'obtiens le frame de la barre d'état avec

Rapide: UIApplication.shared.statusBarFrame

Objectif c: [UIApplication sharedApplication].statusBarFrame

C'est un CGRect, donc vous pouvez obtenir sa hauteur en faisant size.height sur ça. Donc, tout à fait, vous pouvez le faire dans Objective-C:

[UIApplication sharedApplication].statusBarFrame.size.height
15
Michael Hulet

Vous pouvez toujours masquer la hauteur de la barre d'état avec ou sans la barre d'état:

UIApplication.shared.keyWindow!.safeAreaInsets.top

et l'indicateur de l'écran d'accueil

UIApplication.shared.keyWindow!.safeAreaInsets.bottom

Si c'est du paysage, la valeur changerait

et safeAreaLayoutGuide est là aussi

6
Puttin