Какой самый надежный способ заставить UIView перерисовать?
У меня есть UITableView со списком элементов. Выбор элемента подталкивает viewController, который затем выполняет следующее. from Метод 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];
Ура, Дуг