2010-07-05 11 views
1

Hé, je fais une cellule de tableau personnalisé en ce moment, mais ma cellule personnalisée est juste cellule blanche avec des boutons et des étiquettes en couleur de fond qui ne regarde pas ce grand. Existe-t-il un moyen de rendre la couleur d'arrière-plan afin que la cellule ait un effet de dégradé vertical? Par exemple, en haut de la cellule, il a l'air blanc et à mesure qu'il se rapproche du centre de la cellule, il devient plus sombre. Mais à mesure qu'il se rapproche du fond de la cellule, il redevient plus blanc.Comment mettre une cellule de table de style dégradé dans une table?

Un bon exemple serait cette application gratuite appelée « friendsaroundme ». Une autre chose est que je ne veux pas utiliser l'image personnalisée pour le faire (c'est-à-dire faire le cell.backgroundcolor = [uicolor colorwithpatternimage: somethingsomething.png .....) parce que ce n'est pas si flexible. Alors, est-il possible de rendre le style de dégradé par programme?

Répondre

2

Vous pouvez utiliser un CAGradientLayer comme calque d'arrière-plan. Rappelez-vous qu'une cellule de vue de table est juste un UIView. Vous pouvez ajouter une nouvelle couche à l'arbre de couche avec:

[[[self view] layer] addSublayer:gradientLayer]; 

J'ai écrit un blog post on how to do this with UIButtons. La même technique s'applique.

+0

mat merci! votre exemple était super super utile! –

Questions connexes