10
votes

Changement de couleur de l'en-tête de section dans UitailView

J'ai une question simple assez simple (j'espère donc). Comment changer la couleur de l'en-tête de section dans une vision utile de par défaut bleu sur Black transparent? Merci d'avance.


1 commentaires

Voici une question similaire: Stackoverflow.com/Questtions/813068 / ...


3 Réponses :


18
votes

Vous devez implémenter cette méthode dans le protocole UitaireViewelegate: xxx

Voici un lien vers le Documentation

.. . Et faites quelque chose comme ça (sous la couleur de votre propre couleur): xxx

Vous pouvez également utiliser la section Entier pour alterner des couleurs ou quelque chose de similaire. Je pense que la hauteur par défaut des sections est de 22 ans, mais vous pouvez le faire ce que vous voulez. Est-ce ce que vous vouliez dire par votre question? J'espère que cela aide.


3 commentaires

Merci, je pensais qu'il y aurait une sorte de déclencheur dans IB de passer à la couleur noire. Mais de toute façon, merci.


Mais s'il vous plaît, cache ces points de vue. Il y a un bogue dans Uikit, causant des vues d'en-tête lorsque la vision de la table est en cours de défilement. Cette méthode sera donc appelée à chaque décalage de pixel lors du défilement. 22px est en effet la hauteur par défaut.


Bonjour, je comprends que cette méthode est appelée lors du défilement aura lieu ... Comment pouvons-nous cacher cela afin de sauver des vues inutiles en cours de création, etc.? Si vous pouviez poster un commentaire ou une mise à jour de votre message, il sera très utile. Merci



0
votes
- (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;
   }

0 commentaires

21
votes

C'est une question ancienne, mais je pense que la réponse doit être mise à jour.

Cette méthode n'implique pas de définir 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 le
p> xxx pré>

méthode de déléguée. P>

Par exemple: P>

- (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];
}


0 commentaires