60 votes

iOS 7 UITableView: Comment faire pour supprimer l'espace entre la barre de navigation et la première cellule

mon problème est le suivant: avec iOS 7 dans regroupées UITableView il y a un écart entre le haut de la table et de la première cellule.

Le plus étrange, c'est que lorsque je charge le contenu pour la première fois, la table semble ok comme dans la première image, mais quand je scroll vers le bas d'un espace apparaît entre le haut et le premier de la cellule comme dans la seconde:

enter image description hereenter image description here

Avec le style de la plaine ce comportement n'est pas venu, mais malheureusement, j'ai besoin d'utiliser regroupés en vue de la table.

Toutes les idées sur ?

132voto

Slavco Petkovski Points 722

Il suffit d'ajouter ce en vous - ViewDidLoad méthode

self.automaticallyAdjustsScrollViewInsets = NO;

37voto

Giorgos Ath Points 185

La réponse a été très drôle pour moi et mon équipe, et a fonctionné comme un charme

  • Dans Interface Builder, il suffit de déplacer la tableview sous un autre point de vue de l'avis de la hiérarchie.

RAISON:

Nous avons observé que cela n'arrive que pour le Premier Affichage dans la Vue de la Hiérarchie, si ce premier point de vue est un UITableView. Donc, toutes les autres semblables UITableViews n'ont pas cette fâcheuse section, à l'exception de la première. Nous avons Essayé de déplacer la UITableView de la première place dans le point de vue de la hiérarchie, et tout fonctionnait comme prévu.

21voto

Alex Points 525

il résoudre mon problème similaire:

if ([[UIDevice currentDevice].systemVersion floatValue] >= 7){
tableView.contentInset = UIEdgeInsetsMake(-20, 0, 0, 0);
}

12voto

clmntcrl Points 176

Si vous utilisez un UITableView groupé de style et seulement 1 groupe, utilisez du style au lieu de résoudre votre problème.

UITableViewController *tableViewController;
tableViewController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];

2voto

Hot'n'Young Points 14

les gars! J'ai eu le même problème. TableView est apparu avec l'espace libre entre la barre de navigation et la première cellule. Ce code m'a sauvé:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (section == 0) {
        return 10;
    }
    else return 2;
}

Prograide.com

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.

Powered by:

X