Comment changer UITableView Section couleur et la couleur du Texte
J'ai UITableView
qui remplit les dates de la plist et Même la Section du Titre est rempli de plist dans UITableView
.il me donne la valeur par défaut blue
section couleur et White
la couleur du texte.c'est comme ça...
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
NSString *key = nil;
if ([tableView isEqual:self.searchDisplayController.searchResultsTableView])
{
key = [self.searchResults objectAtIndex:section];
}
else{
key = [self.mySections objectAtIndex:section];
}
// NSString *key = [self.mySections objectAtIndex:section];
return [NSString stringWithFormat:@"%@", key];
}
.
Maintenant, j'ai besoin de modifier cette valeur par défaut la couleur du texte et de la Section de couleur, faire que je suis mise en œuvre du code montré ci-dessous.Mais il me donne sa propre UIView
.
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *tempView=[[UIView alloc]initWithFrame:CGRectMake(0,200,300,244)];
tempView.backgroundColor=[UIColor clearColor];
UILabel *tempLabel=[[UILabel alloc]initWithFrame:CGRectMake(15,0,300,44)];
tempLabel.backgroundColor=[UIColor clearColor];
tempLabel.shadowColor = [UIColor blackColor];
tempLabel.shadowOffset = CGSizeMake(0,2);
tempLabel.textColor = [UIColor redColor]; //here you can change the text color of header.
tempLabel.font = [UIFont fontWithName:@"Helvetica" size:fontSizeForHeaders];
tempLabel.font = [UIFont boldSystemFontOfSize:fontSizeForHeaders];
tempLabel.text=@"Header Text";
[tempView addSubview:tempLabel];
[tempLabel release];
return tempView;
}
Que voulez-vous faire de votre en-tête de section? Le code de la
je veux te UITableView Section de couleur noir, pour chaque section, et la couleur du Texte sur il devrait être rouge dire...mais comment faire
tableView: viewForHeaderInSection:
méthode devrait vous permettre de personnaliser la façon dont vous voulez que la section d'en-tête pour regarder.je veux te UITableView Section de couleur noir, pour chaque section, et la couleur du Texte sur il devrait être rouge dire...mais comment faire
OriginalL'auteur Christien | 2012-12-22
Vous devez vous connecter pour publier un commentaire.
Pour mieux personnaliser l'apparence d'un tableau de la section d'en-tête, vous avez vraiment besoin de mettre en œuvre deux méthodes: la première, que vous avez déjà, et cela devrait fonctionner, mais les résultats ne seront pas très utilisable.
La deuxième méthode est la
tableView:heightForHeaderInSection:
, qui raconte l'UITableView
quelle est la hauteur de la nouvelle section, et il peut être aussi simple que cela:EDIT: Comme par le commentaire, voici le résultat de votre code et de définir l'en-tête hauteur:
EDIT 2: Si vous voulez le texte en rouge avec un fond noir, modifiez votre code pour
tableView:viewForHeaderInSection:
comme ceci:EDIT 3: Ok, donc je vais essayer de fusionner votre code à partir de la première méthode avec le second. Il ressemblera à ceci:
Il doit retourner une vue de la table en-tête de section avec la bonne étiquette et le bon look.
EDIT 4: Juste une remarque sur la façon dont tout cela fonctionne: si vous utilisez
tableView:viewForHeaderInSection:
le code que vous avez mis danstableView:titleForHeaderInSection:
sera ignorée. Si vous avez besoin de faire l'installation de la section d'en-tête, y compris le bon texte dans letableView:viewForHeaderInSection
méthode.Il devrait vraiment. Je vais mettre à jour la question avec une image de mon résultat final.
Également de prendre en compte cette ligne de code:
tempView.backgroundColor=[UIColor clearColor]
. Si vous souhaitez que la vue d'une couleur d'arrière-plan, ne définissez pas àclearColor
en fait u ne reçois pas ma question..si j'ai de l'utilisateur de ce
viewForHeaderInSection
ettempLabel.text=@"Header Text";
ya cela va me donner de nouvelles sections ( je n'ai pas de fourmi)BUT
je veux que -->titleForHeaderInSection
titres devraient venir dans les sections mise à jour des couleurs.et la taille du texte./Si vous utilisez
titleForHeaderInSection:
vous aurez toujours l'apparence par défaut (fond bleu / blanc texte). Si vous souhaitez personnaliser le texte, couleur de fond, ou tout ce que vous utiliser letableView:viewForHeaderInSection:
ettableView:heightForHeaderInSection:
.OriginalL'auteur Marko Nikolovski