J'ai récemment mis à niveau vers Xcode 9-beta et iOS 11. Lorsque j'ai fait et poussé la lecture sur mon projet, toutes mes vues ont été poussées d'environ 20 pixels vers le bas par la barre d'état, au lieu que la barre d'état soit directement au-dessus de ma vue. Mon partenaire, qui a iOS 10, n'a pas ce problème. J'ai joint une capture d'écran pour votre référence.
Quelqu'un peut-il offrir des conseils? Toute aide serait très appréciée. Merci beaucoup d'avance.
Réponse rapide
Vous souhaiterez peut-être définir contentInsetAdjustmentBehavior
de votre tableView
ou scrollView
objet sur .never
.
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
ou
if #available(iOS 11.0, *) {
scrollView.contentInsetAdjustmentBehavior = .never
}
J'étais confronté au même problème et après des HEURES de recherche, j'ai finalement trouvé le problème.
Xcode 9 a un nouveau concept de zones sûres et par défaut, le storyboard ajoute maintenant une zone sûre en haut de toutes les vues.
Si vous sélectionnez la vue racine de votre ViewController et sélectionnez l'inspecteur de taille, vous verrez une case à cocher, comme vous pouvez le voir sur le image
Décochez-le et ce rembourrage supérieur disparaîtra.
if (@available(iOS 11.0, *)) {
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
Si vous utilisez UITableViewStyle.grouped
- l'écart de 35px sera toujours là même si vous ajoutez tableView.contentInsetAdjustmentBehavior = .never
. Essayez de remplacer UITableViewStyle
par plain
. Cela a résolu un problème pour moi.