Jaki jest najsolidniejszy sposób wymuszenia odświeżania UIView?
Mam UITableView z listą elementów. Wybranie elementu powoduje, że kontroler viewController wykonuje następujące czynności. from method viewDidLoad Odpalam URLRequest dla danych wymaganych przez moje subviews - podklasa UIView z nadpisanym drawRect. Kiedy dane docierają z chmury, zaczynam budować hierarchię widoków. dana podklasa przechodzi przez dane, a metoda drawRect ma teraz wszystko, czego potrzebuje do renderowania.
Ale.
Ponieważ nie nazywam drawRect wyraźnie - Cocoa-Touch obsługuje to - nie mam sposobu informowania Cocoa-Touch, że naprawdę chcę, aby ta podklasa UIView była renderowana. Gdy? Teraz byłoby dobrze!
Próbowałem [myView setNeedsDisplay]. To czasami działa. Bardzo nierówny.
Zmagam się z tym przez wiele godzin. Czy ktoś, kto może mi zapewnić solidne, gwarantowane podejście do wymuszenia ponownego renderowania UIView?
Oto fragment kodu, który przekazuje dane do widoku:
// 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];
Pozdrawiam, Doug