masquer la barre d'état swift 4
Je suis en train d'essayer de masquer la barre d'état dans l'un de mes UIViewControllers (Swift 4).
-
Tout d'abord, j'ai mis - Vue-contrôleur d'état basé sur l'apparence de la barre de à OUI dans
Info.plist
. -
J'ai changé le
prefersStatusBarHidden
bien dans mon controller:
override var prefersStatusBarHidden: Bool {
return true
}
- Et dans
viewDidLoad()
, j'ai ajoutésetNeedsStatusBarAppearanceUpdate()
fonction de la force de laprefersStatusBarHidden
propriété d'être lu.
Après tout cela, je persiste à voir dans la barre d'état sur que UIViewController
.
Quelqu'un peut m'aider, s'il vous plaît?
Peut-être que si vous ajoutez un peu de code, il va être utile de faire une réponse
voir ce stackoverflow.com/questions/38876249/...
La réponse que vous avez lié est quelque chose que l'OP a déjà fait.
J'ai déjà essayé tout ce qui est mentionné dans @Anbu.Karthik commentaire
Êtes-vous à l'aide de certains UIPageViewController ou tout autre point de vue de la hiérarchie?
voir ce stackoverflow.com/questions/38876249/...
La réponse que vous avez lié est quelque chose que l'OP a déjà fait.
J'ai déjà essayé tout ce qui est mentionné dans @Anbu.Karthik commentaire
Êtes-vous à l'aide de certains UIPageViewController ou tout autre point de vue de la hiérarchie?
OriginalL'auteur Dragisa Dragisic | 2017-10-03
Vous devez vous connecter pour publier un commentaire.
Vous pouvez masquer la barre d'état de tout ou partie de vos contrôleurs en ajoutant ce code:
Tout-vue-contrôleur contenant ce code permet de masquer la barre de statut par défaut.
Si vous souhaitez animer la barre d'état ou de sortie, il suffit d'appeler setNeedsStatusBarAppearanceUpdate() sur votre point de vue à un contrôleur qui va les obliger à prefersStatusBarHidden à relire, à quel point vous pouvez renvoyer une valeur différente. Si vous le souhaitez, votre appel à setNeedsStatusBarAppearanceUpdate() peut effectivement être à l'intérieur d'un bloc d'animation, ce qui provoque la barre d'état pour afficher ou masquer d'une manière fluide.
prefersStatusBarHidden
.J'ai essayé tous que, même UIApplication.partagé.isStatusBarHidden = true dans le viewDidLoad(), mais la barre d'état est toujours là...j'ai lu swift 4 journal des modifications et il n'y a rien sur la modification de prefersStatusBarHidden..
Ce que j'ai fait sur ma Swift 4 projet a été seulement ajouter de la dérogation ci-dessus et rien d'autre et cela a fonctionné. N'avez pas besoin de changer les informations.fichier plist et n'ont pas besoin d'appeler setNeedsStatusBarAppearanceUpdate()
Je fais tout comme vous l'avez dit, ne fonctionne toujours pas 🙁
Fonctionne pour moi. Je n'ai pas touché le plist. Il suffit de copier et coller le code ci-dessus dans la sous-classe UIViewController.
OriginalL'auteur Viraj Padsala
Vous avez probablement trouvé votre propre solution à ce déjà, mais je l'ai eu à travailler de cette façon:
Si vous utilisez le nul de l'opérateur au lieu de cela le pire des cas, c'est qu'il apparaîtra. si laisser la barre d'état: UIView = UIApplication.partagé.valeur(forKey: "barre d'état")? UIView { la barre d'état.isHidden = false }
OriginalL'auteur MachTurtle
Bien que certaines implémentations sont plus propres tels que:
UIApplication.shared.isStatusBarHidden = true
Il y a peu bizarre d'écrêtage des animations pendant les transitions. Bien que plus de commentaires, je préfère @MachTurtle la solution:
De l'essayer, et fonctionne très bien pour moi.
OriginalL'auteur Creeptosis
Essayez de régler une "Vue-contrôleur d'état basé sur l'apparence de la barre de" drapeau de l'Info.plist pour OUI. Cela va forcer application pour appeler
prefersStatusBarHidden: Bool
de propriété sur chaque vue-contrôleur.OriginalL'auteur Halyna Rubashko
Utiliser le code suivant
UIApplication.shared.isStatusBarHidden = true
c'est la seule chose que j'ai trouvé c'est de travailler dans iOS11.
vous pouvez écrire dans
didFinishLaunchingWithOptions
ou en "viewWillAppear' de vousBaseViewController
Profitez de.
OriginalL'auteur nitish005
Comme vous l'avez dit, vous utilisez UINavigationController pour naviguer jusqu'à votre vue personnalisée contrôleur. Je suppose que vous avez configuré votre Vue Personnalisée contrôleur de la vue racine de votre UINavigationController. Dans ce cas primordial var prefersStatusBarHidden dans votre affichage personnalisé contrôleur ne fonctionne pas, mais vous aurez à la sous-classe votre UINavigation Contrôleur et de remplacer la propriété il y a comme indiqué ci-dessous:-
OriginalL'auteur Shayeeb
Essayez de vérifier Masquer la Barre d'État en vertu de la Général section de votre paramètres du projet.
Ce paramètre vient se cache la barre d'état au départ et permet de s'assurer que la barre d'état est caché dans de nombreux cas de ce genre.
OriginalL'auteur Tamás Sengel
Aucun de ces a travaillé pour moi de travailler sur un projet converti en iOS 11. Voici ce que j'ai fait. J'ai ajouté ce code dans l'AppDelegate
OriginalL'auteur Nicholas Lue
Si vous êtes à la présentation de la vue-contrôleur modal, essayez
OriginalL'auteur Alok Sahay
Juste modifier "en Haut de l'Espace de" contrainte de votre vue à partir de la zone de Sécurité de Superview. Et il va glisser votre vue dans la barre d'État, donc il n'y a aura pas besoin de le cacher]Un
OriginalL'auteur Vitya Shurapov
J'ai découvert que
prefersStatusBarHidden
n'était pas appelé, de mon point de vue, contrôleur parce que j'ai été en utilisant un conteneur personnalisé de vue et j'ai besoin d'avancer la barre d'état en cachant la responsabilité à l'enfant-vue-contrôleur. La mise en œuvre devar childForStatusBarHidden: UIViewController? { return childViewController }
dans le conteneur vue contrôleur fixe, si, pour moi.OriginalL'auteur Tylerc230