J'ai un utilviewcell personnalisé avec une mise en page personnalisée. Je voulais un arrière-plan dégradé, donc dans mon utilitaireViewelegate Cellfrotindexpath: méthode, je crée une cagradientlayer et l'ajoutez à la couche de la cellule avec insertsublayer: AIndex: (Utilisation de l'index 0). Cela fonctionne juste bien sauf deux choses: p>
Plus important encore, je ne peux pas comprendre comment passer à une couleur de gradient différente lorsque la ligne est mise en surbrillance. J'ai essayé quelques choses, mais je ne suis tout simplement pas assez familier avec le cadre pour le faire fonctionner. Où serait l'endroit idéal pour mettre ce code, à l'intérieur du délégué de la table ou la cellule elle-même? P>
En outre, il y a un espace blanc 1px entre chaque cellule de la table. J'ai une couleur d'arrière-plan sur la vue principale, une couleur d'arrière-plan sur la table et une couleur d'arrière-plan sur la cellule. Y a-t-il une sorte de rembourrage ou d'entretoise par défaut dans une vision utile? P>
3 Réponses :
Je ne suis pas sûr de la première question, mais je pense que vous pouvez définir la propriété SELECTEBLYTROMPLYVIEW de la même manière que vous définissez la propriété ContexteView. L'espace blanc entre les cellules est probablement le séparateur. Vous pouvez modifier cette couleur comme
J'ai essayé ça, mais peut-être pas la bonne façon. Quoi qu'il en soit, le lien Derek fourni ci-dessus montre un exemple de réglage de la tableView.separatorStyle vers UitailViewCellseparatorStylenone qui est probablement ce que je recherche. Merci pour la réponse!
J'ai eu du mal pendant des jours avec cela. La solution a fini par être assez simple, mais les différentes parties du puzzle ont été réparties sur plusieurs réponses et sites différentes. La pièce manquante du puzzle s'est avérée être la distinction entre la vue de contenu et la vue d'arrière-plan et où la couleur de sélection est appliquée.
Caractéristiques de ma solution: P>
Ce dernier point était l'ingrédient secret qui a tout fait fonctionner pour moi. p>
J'ai ajouté une méthode d'usine à ma sous-classe UitablecellView car je voulais utiliser la même cellule dans plusieurs tables. p>
Cela ressemble à une excellente solution - j'aime l'idée de la contenir dans la sous-classe Uitabiliewcell. Une question cependant - qu'est-ce que c'est (wmstyle *)?
Je garde tous les paramètres de mon style (polices, couleurs, gradients, etc.) dans une classe de sorte que je puisse les changer au même endroit.
Salut Kevin. Cela semble super. Est-il possible de poster un exemple simple? Merci Sean
Je sais que ce fil est vieux, mais voici une solution pour la première partie de votre question (ajout d'un gradient aux états sélectionnés et non sélectionnés d'une cellule):
Si vous avez une table longue, cette méthode continuera à ajouter des trucs à la même cellule
Il y a un très bon article sur cacao avec amour à propos de la personnalisation l'apparence et la sensation d'une vue de table. Je pense que merci peut-être répondre à votre question.
meilleur lien jamais ... très apprécié. Je suis vraiment neuf pour iPhone et portant une application de Android où je suis beaucoup plus à l'aise pour être très confortable.
Pour quelque chose de simple, jetez un coup d'œil à ma réponse sur Stackoverflow.com/questions/1979165/... Pour le gradient différent de la sélection, cela fonctionne bien d'utiliser la cellule.SelectionStyle dans la plupart des cas (qui peut assombrir le fond dégradé quand sélectionné)
Je recommanderais de jeter un coup d'œil à Cagradientlayer. Ensuite, vous pouvez vous débarrasser de toutes vos images ...