Qual é a maneira mais robusta de forçar um UIView a redesenhar?
Eu tenho um UITableView com uma lista de itens. Selecionar um item envia um viewController que, em seguida, faz o seguinte. from method viewDidLoad Disparo um URLRequest para dados que são requeridos por uma das minhas subvisualizações - uma subclasse de UIView com drawRect sobrescrita. Quando os dados chegam da nuvem, começo a construir minha hierarquia de visualizações. a subclasse em questão recebe os dados e seu método drawRect agora tem tudo que precisa para renderizar.
Mas.
Porque eu não chamo drawRect explicitamente - Cocoa-Touch lida com isso - eu não tenho como informar Cocoa-Touch que eu realmente quero que essa subclasse de UIView seja renderizada. Quando? Agora seria bom!
Eu tentei [myView setNeedsDisplay]. Esse tipo de trabalho às vezes. Muito irregular.
Eu estou lutando com isso por horas e horas. Alguém que poderia me fornecer uma abordagem sólida e garantida para forçar uma nova renderização do UIView?
Aqui está o trecho de código que alimenta os dados para a exibição:
// 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];
Felicidades, Doug