UITableViewCell et background sur UITableViewStyleGrouped

muqaddarmuqaddar Administrateur
00:17 modifié dans API UIKit #1
J'ai beau cherché et tenté plein de choses, j'ai vraiment du mal à  changer le background d'une UITableViewCell que ce soit avec une couleur, ou mieux encore, avec une image.

Contexte : UITableViewStyleGrouped

J'ai déjà  une sous-classe de UITableViewCell, qui fait son boulot. J'ai essayé d'agir dans :

- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {


sur self.backgroundColor, self.backgroundView.backgroundColor

Au mieux j'obtiens une couleur qui noie les angles arrondis...

J'ai aussi essayé de placer une image dans self.backgroundView... et dans le meilleur des cas, je perds les frontières de cellules, et aussi les angles arrondis évidemment.

Le seul truc qui marche à  peu près, c'est d'agir sur le contentView, sauf que je perds la couleur de sélection quand je clique sur la cellule, normal...
Le backgroundView est fait pour ça...

Qui a une piste ? Je répète qu'il s'agit d'une UITableViewStyleGrouped...

Réponses

  • LastikoLastiko Membre
    mai 2009 modifié #2
    bonjour ,

    est ce que tu cherche a faire quelque chose comme ca

    customtableview.png?imgmax=800


    regarde la :

    http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html

  • muqaddarmuqaddar Administrateur
    00:17 modifié #3
    Oui c'est exactement quelque chose de cet ordre.

    Merci Lastiko.
  • LastikoLastiko Membre
    00:17 modifié #4
    de rien pour une fois que je peux aider  :adios!:
  • Philippe49Philippe49 Membre
    00:17 modifié #5
    Un exemple de Custom UITableViewCell
  • muqaddarmuqaddar Administrateur
    00:17 modifié #6
    Merci Philippe.

    Je n'avais pas de problème pour customizer une UITableViewCell, c'est juste que c'est plus délicat avec les tables de type Grouped. ;)
  • muqaddarmuqaddar Administrateur
    00:17 modifié #7
    1) J'ai lu qu'il n'était pas conseillé de sous-classer une UITableViewCell, cependant quelle est la meilleure approche si l'on doit utiliser une même tableViewCell dans plusieurs tableViewControllers ?
    Comme j'ai les mêmes positions d'images et de labels dans ces cells et les mêmes formatages, j'ai sous-classé UITableViewCell et ajouter des variables d'instance à  ma sous-classe (UILabels et UIImages). Y-a-t-il mieux à  faire ?

    2) Autre question d'agilité : si je dois utiliser des couleurs ou des dimensions à  plusieurs endroits de ma classe, on peut utiliser les constantes. Cependant, si j'ai besoin de ces constantes dans plusieurs classes, où faut-il les mettre ? Il faudrait faire des sortes "d'inclusions" ou "d'extensions" de classes. Quelle est la meilleure approche ?
  • LastikoLastiko Membre
    00:17 modifié #8
    je vais peut etre dire une connerie , mais si tu as des constantes que tu veux utiliser dans plusieurs class , je dirais que tu te fais un fichier constantes ( constants.h ), avec toutes tes constantes qui t'interesse et tu inclus ce fichier dans toutes les classes ou tu en as besoin

  • Philippe49Philippe49 Membre
    00:17 modifié #9
    dans 1242062587:

    1) J'ai lu qu'il n'était pas conseillé de sous-classer une UITableViewCell, cependant quelle est la meilleure approche si l'on doit utiliser une même tableViewCell dans plusieurs tableViewControllers ?
    Comme j'ai les mêmes positions d'images et de labels dans ces cells et les mêmes formatages, j'ai sous-classé UITableViewCell et ajouter des variables d'instance à  ma sous-classe (UILabels et UIImages). Y-a-t-il mieux à  faire ?

    Je n'ai pas vu ce genre de recommandations ... tu te souviens de l'argument associé : chargement excessif en UIView ? mais bon il n'y a qu'une cellule par table view 

    dans 1242062587:

    2) Autre question d'agilité : si je dois utiliser des couleurs ou des dimensions à  plusieurs endroits de ma classe, on peut utiliser les constantes. Cependant, si j'ai besoin de ces constantes dans plusieurs classes, où faut-il les mettre ? Il faudrait faire des sortes "d'inclusions" ou "d'extensions" de classes. Quelle est la meilleure approche ?

    Il y a beaucoup de solutions ... perso j'utilise souvent un fichier MacroAndConstants, en utilisant beaucoup les macros, genre :

    <br />#define playButtonImageName[NSArray arrayWithObjects: @&quot;SunPlayButton.png&quot; , @&quot;MoonPlayButton.png&quot;,@&quot;PierrisPlayButton.png&quot;,nil]<br />#define PLAYBUTTONFRAME		CGRectMake(20.,30.,222.,37.)<br />#define positionsForTag&nbsp; ( (int [8]){0,2,4,3,1,5,7,6} )
    


    Rien n'empêche de mettre les macros directement dans les .m d'ailleurs .
  • muqaddarmuqaddar Administrateur
    00:17 modifié #10
    Merci Philippe, j'utiliserais ce genre de procédure également.

Connectez-vous ou Inscrivez-vous pour répondre.