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 ..
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
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