Changer la couleur de tête de section dans UITableView
-
24-09-2019 - |
Question
J'ai assez simple question simple (je l'espère). Comment puis-je changer la couleur d'en-tête de section dans un UITableView du bleu par défaut noir transparent? Merci à l'avance.
La solution
vous devez implémenter cette méthode dans le protocole UITableViewDelegate:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
Voici un lien vers la page documentation
... et faire quelque chose comme ça (sous dans votre propre couleur):
UIView *sectionView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 22)] autorelease];
[sectionView setBackgroundColor:[UIColor blackColor]];
return sectionView;
Vous pouvez également utiliser l'entier de la section aux couleurs alternatives ou quelque chose de similaire. Je pense que la hauteur par défaut pour les sections est 22, mais vous pouvez faire ce que vous voulez. Est-ce que vous vouliez dire par votre question? Espérons que cela aide.
Autres conseils
Ceci est une vieille question, mais je pense que la réponse doit être mis à jour.
Cette méthode ne comporte pas la définition de vos propres vues personnalisées.
Dans iOS 6 et plus, vous pouvez facilement changer la couleur de fond et la couleur du texte en définissant
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)sectionméthode déléguée.
Par exemple:
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section { // Background color view.tintColor = [UIColor blackColor]; // Text Color UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view; [header.textLabel setTextColor:[UIColor whiteColor]]; // Another way to set the background color // Note: does not preserve gradient effect of original header // header.contentView.backgroundColor = [UIColor blackColor]; }
Tiré de mon post ici: https://happyteamlabs.com/ blog / ios-how-to-customize-table-vue-en-tête et pied de page-couleurs /
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,tableView.bounds.size.width, 30)];
if (section == 0)
[headerView setBackgroundColor:[UIColor redColor]];
else
[headerView setBackgroundColor:[UIColor clearColor]];
return headerView;
}