Ячейка UICollectionView не всегда обновляется после прокрутки
Я определил в своем раскадровке (iPad) представление, которое содержитUICollectionView
в нижней части вида естьтакжеUIToolbar
, вUICollectionView
Я добавилUICollectionViewCell
(реализованоiPadCellCollectionViewCell
класс), который содержит другое представление, которое является графиком графика ядра (CPTGraphHostingView
учебный класс).
У меня есть класс под названием X, который реализуетUICollectionViewDelegate
а также .UICollectionViewDataSource
В классе X я строю для каждой ячейки своего взгляда (вViewDidLoad
) график основного графика, и у меня есть следующий код, чтобы связать график с ячейкой}UICollectionViewCell
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
static NSString* cellId = @"ChartCollectionId";
iPadCellCollectionViewCell* cell = [self.theCollectionView dequeueReusableCellWithReuseIdentifier:cellId forIndexPath:indexPath];
MyChart* chart = [_charts objectAtIndex:indexPath.row];
cell.hostingView.hostedGraph = chart.barChart;
return cell;
Это'Работает нормально, все мои графики правильно отображаются на экране. Проблема возникает, когда пользователь прокручивает представление, после чего одна или несколько ячеек становятся "пустой», Я действительно нене понимаю почему.
Я нашел обходной путь, вместо добавленияCPTGraphHostingView
вUICollectionViewCell
в Интерфейсном Разработчике я строю это сам, и предыдущий код становится:}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
static NSString* cellId = @"ChartCollectionId";
iPadCellCollectionViewCell* cell = [self.theCollectionView dequeueReusableCellWithReuseIdentifier:cellId forIndexPath:indexPath];
[cell.contentView addSubview:[_hostingViews objectAtIndex:indexPath.row]];
return cell;
С этим кодом все работает нормально. Есть ли объяснения, почему это так?не работает, когда ям добавивCPTGraphHostingView
вUICollectionViewCell
с ИБ?
Это проблема, чтобы позвонитьaddSubview» каждый раз метод вызывается? Нет утечек памяти?