95 votes

Comment modifier la hauteur de l'en-tête d'un UITableView groupé ?

Je sais comment modifier la hauteur des en-têtes de section dans la vue tableau. Mais je ne trouve pas de solution pour modifier l'espacement par défaut avant la première section.

Actuellement, j'ai ce code :

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

enter image description here

4voto

Chris Yim Points 1177

Vous devez supprimer le code self.tableView.tableHeaderView = [UIView new]; après avoir ajouté

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    return CGFLOAT_MIN;
}

3voto

jaiswal Rajan Points 1

En Swift 4

Suppression du rembourrage supérieur supplémentaire dans les tableaux groupés.

Ici, la hauteur est donnée à 1 comme hauteur minimale pour l'en-tête de section, car vous ne pouvez pas donner 0, car Tableview prendra la marge supérieure par défaut si on lui attribue une hauteur de zéro.

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return 1
}

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    return UIView()
}

2voto

Divyam shukla Points 2028

Vous pouvez utiliser viewForHeaderInSection et retourner une vue avec n'importe quelle hauteur.

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{

    int height = 30 //you can change the height 
    if(section==0)
    {
       UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, height)];

       return view;
    }
}

2voto

George Asda Points 175

Dans swift 2.0

func tableView(tableView: UITableView, estimatedHeightForHeaderInSection section: Int) -> CGFloat {

        return yourHeight
    }

2voto

indrajit Points 124

Ces deux lignes sont suffisantes.

tableView.sectionHeaderHeight = 0
tableView.sectionFooterHeight = 0

Pour moi, cela fonctionne dans Xcode 12.2, iOS 14.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