Эта проблема сводит меня с ума.UITableViewCell subview не отображается до перерисовывания
У меня есть прототип UITableViewCell в моей раскадровке. Он содержит кучу подзаголовков. Одно из подзаголовков, UILabel, является неправильным.
Когда табличное представление загружается и отображается в первый раз, все ячейки выглядят отлично. Однако по мере того, как табличное свидание прокручивается вниз, в конечном итоге одна из ячеек появляется без подпрограммы UILabel. Кажется, что это всегда первая ячейка, которая перерабатывается.
Если я продолжаю прокручивать табличное представление, как только поврежденная ячейка обрезается верхней частью таблицы (когда она начинает прокручиваться в верхней части экрана), метка отображается так же, как должна ,
Так что кажется, что метка есть, и она получает строку, которую я назначаю ей в методе cellForRowAtIndexPath. По какой-то причине это просто не получается. Я пробовал вставлять сообщения setNeedsDisplay в разных местах, но это не помогло.
Также странно, что я использую тот же подкласс UITableViewCell с дублированной иерархией представлений в раскадровке в другом контроллере представления, и там у меня нет никаких проблем.
У кого-нибудь есть представление о том, как я могу начать разгадывать эту тайну?
Спасибо!
Вы изменяете ячейку таблицы или любое из подзонов после ее инициализации в таблицеView: cellForRowAtIndexPath? –
Я. Я устанавливаю текст метки и делаю некоторые другие вещи с другими пользовательскими подклассами UIView. Все это прекрасно работает. Это просто UILabel, который не нарисован. – CharlieMezak
У меня с тобой что-то похожее. В одной конкретной ячейке одна метка не нарисована. Если я нарушаю код, ячейка выглядит абсолютно нормально. Если я нахожу setNeedsDisplay, он появляется. Сводит меня с ума! – jasongregori