J'essaie de placer un TableView dans ma vue ViewController, tout en laissant un écart de hauteur de 44 entre le bas de la barre de navigation et le haut de la table. J'ai ensuite voulu placer un UITextField à l'intérieur de cet espace pour agir en tant qu'en-tête stationnaire. Pour quelque raison que ce soit, le TableView a un espace blanc vide au-dessus du début des "Cellules prototypes". C'est juste un espace blanc. Voici à quoi cela ressemble dans le storyboard.
Lorsque vous affichez l’application, voici à quoi cela ressemble:
Lorsque vous faites défiler la table, cela va jusqu'au bon endroit:
Essayez de regarder dans 'l'inspecteur d'attributs' (dans le menu de droite) du ViewController des participants. Cochez l'option 'Étendre les bords' et décochez la case 'Sous les barres du haut', puis déplacez votre tableview.
Une autre solution possible consiste simplement à décocher l'option 'Ajuster les incrustations de la vue de défilement'. La raison en est que lorsque viewController étend ses bords, disons sous la barre supérieure, le scrollView de tableView ajuste automatiquement le haut de son insertion, de sorte que le contenu de la tableView démarre exactement sous la barre supérieure. Mais dans votre cas, cela n’est pas nécessaire, car votre tableView commence elle-même sous la barre.
Concentrez-vous sur le ViewController et accédez à l’onglet Inspecteur d’attributs:
Essaye celui-là:
self.tableView.contentInset = UIEdgeInsetsMake(-65, 0, 0, 0)
Ajoutez simplement ceci dans votre méthode ViewDidLoad
self.automaticallyAdjustsScrollViewInsets = NO;
Vous ne devriez pas avoir besoin de changer le paramètre par défaut pour Extend Edges.
On dirait que le vrai problème est une vue d'en-tête de tableau vide dans votre storyboard. Cela apparaît dans la capture d'écran que vous avez fournie de votre scénario, juste en dessous de la vue Saisir un nom et juste au-dessus de la vue Cellules prototype. Supprime-le.
Je viens de trouver une solution pour cela . Dans mon cas, j'utilisais TabBarViewController, A juste décocher l'option 'Adjust Scroll View Insets' Les problèmes disparaissent.
Mon problème est que je pose tableHeaderView
comme nouveau UIView
self.tableHeaderView = UIView(frame: .zero)
Supprimez cette ligne, le problème est parti. Essaye ça:
//self.tableHeaderView = UIView(frame: .zero)
Pour les personnes Objective-C, ajoutez ceci à votre méthode ViewDidLoad.
[self.tableView setContentInset:UIEdgeInsetsMake(-20, 0, 0, 0)];