J'utilise le code de cellule de vue de tableau personnalisé d'Apple et je modifie le code drawRect dans la vue de la cellule pour qu'il ressemble à ce que je veux. Je l'ai changé pour avoir UILabels ainsi qu'un UIProgressView.Personnalisé UITableViewCell ne masque pas correctement les vues
Si les données sur lesquelles la cellule est en cours de construction n'ont pas un certain champ, je veux que le UIProgressView soit caché. Cela fonctionne pendant un petit moment, mais lorsqu'une cellule est mise en attente de défilement, la vue de progression recommence à s'afficher, même si je la mets à hidden = YES. J'ai essayé juste de ne pas créer le ProgressView à moins que les données étaient là et cela n'a pas fonctionné non plus.
Je pensais que la réponse était dans [self setNeedsDisplay] mais cela ne semble pas aider.
Voici le code pour le progressview de drawRect qui continue à afficher:
UIProgressView *c1Progress = [[UIProgressView alloc]initWithFrame:CGRectMake(20.0, 70.0, 280.0, 12.0)];
float iProgress = (value/target);
c1Progress.progress = iProgress;
if (!dataExists) {
c1Progress.hidden = YES;
}
[self addSubview:c1Progress];
[c1Progress release];
Merci pour dataExists, qui ont fait il. J'ai déplacé c1Progress dans une variable de classe, l'ai instanciée dans la méthode init et j'ai défini les valeurs dans la méthode de définition de données. C'est ma première tentative de programmation personnalisée de tableviewcell et je veux m'assurer que je le fais bien, donc j'ai de jolies tables de défilement! – adamweeks