J'ai un contrôleur de vue qui occupe tout l'écran de haut en bas. Je souhaite masquer l'indicateur de barre de la maison en bas de l'écran sur les appareils iPhone X.
Comment puis-je faire cela dans iOS 11?
J'ai un contrôleur de vue qui occupe tout l'écran de haut en bas. Je souhaite masquer l'indicateur de barre de la maison en bas de l'écran sur les appareils iPhone X.
Comment puis-je faire cela dans iOS 11?
Il est une autre alternative. Si vous êtes à la recherche pour le comportement où l'indicateur s'atténue ensuite, lorsque l'utilisateur glisse le doigt vers le haut il s'active, et quand ils balayez vers le haut à nouveau la maison de l'action est invoquée (I. E., deux balayages sont nécessaires pour invoquer), alors la réponse est ici: iPhone X maison de l'indicateur de comportement. Le court est à remplacer sur votre UIViewController:
override func preferredScreenEdgesDeferringSystemGestures() -> UIRectEdge {
return .bottom
}
prefersHomeIndicatorAutoHidden
ne cache que l'indicateur, mais ne permettra pas de supprimer le geste.
Et vous obtiendrez ce que vous voulez (Si j'ai bien compris vos commentaires correctement à votre question et la réponse choisie semblent impliquer l'autre réponse).
Si votre window?.rootViewController
est un UITabBarController
ou UINavigationController
, héritez-le simplement et ajoutez deux fonctions comme suit,
override var prefersHomeIndicatorAutoHidden: Bool {
return true
}
//@available(iOS 11, *)
override var childViewControllerForHomeIndicatorAutoHidden: UIViewController? {
return nil
}
Implémentez -(BOOL)prefersHomeIndicatorAutoHidden
dans votre UIViewController
et retournez YES
.
En savoir plus https://developer.apple.com/documentation/uikit/uiviewcontroller/2887510-prefershomeindicatorautohidden .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.