У меня есть UITableView со списком элементов. Выбор элемента подталкивает viewController, который затем выполняет следующие действия. из метода viewDidLoad Я запускаю URLRequest для данных, которые необходимы для моих подзонов - подкласс UIView с переопределением drawRect. Когда данные поступают из облака, я начинаю строить свою иерархию представлений. подкласс, о котором идет речь, получает данные, и метод drawRect теперь имеет все, что нужно для рендеринга.
Но.
Потому что я не называю drawRect явно - Cocoa -Touch обрабатывает это - у меня нет способа сообщить Cocoa -Touch, что я действительно очень хочу, чтобы этот подкласс UIView отображался. Когда? Теперь было бы хорошо!
Я пробовал [myView setNeedsDisplay]. Этот вид иногда работает. Очень пятнистый.
Я борюсь с этим часами и часами. Может кто-то, кто, пожалуйста, предоставит мне надежный, надежный подход к принудительному повторному рендерингу UIView.
Вот фрагмент кода, который передает данные в представление:
// 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, Дуг