我在我的故事板(iPad)中定义了一个包含UICollectionView的视图,在视图的底部还有一个UIToolbar.
在UICollectionView中,我添加了一个UICollectionViewCell(由iPadCellCollectionViewCell类实现),其中包含另一个视图,即Core-Plot Graph(CPTGraphHostingView类).
在UICollectionView中,我添加了一个UICollectionViewCell(由iPadCellCollectionViewCell类实现),其中包含另一个视图,即Core-Plot Graph(CPTGraphHostingView类).
我有一个名为X的类来实现UICollectionViewDelegate和UICollectionViewDataSource.
在类X中,我构建了我的视图的每个单元格(在ViewDidLoad中)Core-Plot Graph,并且我有以下代码将图形链接到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;
}
它的工作正常,我的所有图形都正确显示在屏幕上.当用户滚动视图时,会出现此问题,然后一个或多个单元格变为“空白”.我真的不明白为什么
我找到了一个解决方法,而不是在Interface Builder中的UICollectionViewCell中添加CPTGraphHostingView,我自己构建并且之前的代码变成:
- (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;
}
有了这个代码,一切都正常.有没有任何解释为什么当我在IBIC中添加CPTGraphHostingView在UICollectionViewCell不起作用?