2009-02-26 13 views
1

J'ai un UITableView ordinaire dans mon iPhoneApp. Je voudrais changer la taille de la police du texte d'en-tête. Je comprends que ce n'est pas possible et que j'ai besoin de créer mon en-tête personnalisé avec mon propre label.Comment puis-je reproduire l'en-tête standard d'un fichier UITableView

Je me demande simplement si quelqu'un sait comment je peux reproduire un en-tête similaire au standard (en utilisant la même image de fond, etc ...)? Je ne trouve pas l'image de fond partout ..

Cordialement, Jonathan

Répondre

1

Vous cherchez [UIColor groupTableViewBackgroundColor]:

[view setBackgroundColor:[UIColor groupTableViewBackgroundColor]]; 
+0

Désolé, je pense que je me suis trompé. Je voulais dire l'en-tête de section (fond bleu) en mode clair pour UITableView. Il semble que ce soit une image et non la couleur. Je ne suis pas vraiment bon avec les graphismes donc je me demandais si je pouvais trouver l'image quelque part pour la réutiliser ... Cordialement, Jonathan –

+0

Hmm, je ne sais pas si vous pouvez obtenir cette image, mais même si vous pouviez , il serait probablement de taille fixe, donc vous ne voudriez pas l'utiliser. –

0

Il ne se détendent pas vraiment élevé, car il va mal paraître , mais cela peut vous sortir de l'esquive, créer une image extensible qui utilise un graphique de l'en-tête d'origine (tout modèle iphone png/psd a ces facilement extensible).

Puis

UIImage *image = [UIImage imageNamed:@"tableHeader.png"]; 
UIImage *stretchImage = [image stretchableImageWithLeftCapWidth:5.0 topCapHeight:2.0]; 
UIImageView *backgroundImage = [[UIImageView alloc] initWithFrame:frame]; 
[backgroundImage setImage:stretchImage]; 

et soit de retour que dans le cadre de la UIView vous construisez dans votre:

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

ou (mieux encore) ajouter comme l'arrière-plan de tout instance de la sous-classe UIView vous Revenez dans cette méthode.

De toute évidence, toute largeur fonctionne, j'ai trouvé que je peux l'obtenir jusqu'à 55pixels de haut sans regarder naff. La meilleure réponse est de reproduire le dégradé .. Je suis trop nooby pour cela cependant :)