Ce qui est le plus robuste de la force d'une UIView pour redessiner?

J'ai un UITableView avec une liste d'éléments. En sélectionnant un élément pousse un viewController qui procède alors à effectuer les opérations suivantes. à partir de la méthode viewDidLoad j'ai d'incendie à une URLRequest pour les données qui sont requises par une de mes sous-vues - une sous-classe UIView avec drawRect remplacée. Lorsque les données arrivent à partir du nuage, j'ai commencer la construction de mon point de vue de la hiérarchie. la sous-classe en question reçoit les données et la méthode drawRect a maintenant tout ce qu'il faut pour rendre.

Mais.

Parce que je ne l'appelez pas drawRect explicitement - Cacao-Toucher les poignées que je n'ai aucun moyen de les informer de Cacao-Touch que j'ai vraiment, vraiment envie cette sous-classe UIView à rendre. Quand? Maintenant, ce serait bien!!!

J'ai essayé [mavue setNeedsDisplay]. Ce genre de travaux parfois de. Très inégale.

J'ai lutte avec cela pendant des heures et des heures. Quelqu'un qui merci de me fournir un rocher solide, garanti approche à forcer un UIView re-rendre.

Voici l'extrait de code qui se nourrit des données de la vue:

//Create the subview
self.chromosomeBlockView = [[[ChromosomeBlockView alloc] initWithFrame:frame] autorelease];

//Set some properties
self.chromosomeBlockView.sequenceString     = self.sequenceString;
self.chromosomeBlockView.nucleotideBases    = self.nucleotideLettersDictionary;

//Insert the view in the view hierarchy
[self.containerView          addSubview:self.chromosomeBlockView];
[self.containerView bringSubviewToFront:self.chromosomeBlockView];

//A vain attempt to convince Cocoa-Touch that this view is worthy of being displayed ;-)
[self.chromosomeBlockView setNeedsDisplay];

Cheers,
Doug

InformationsquelleAutor dugla | 2009-10-01