UICollectionViewCell 仅在滚动后更新
UICollectionViewCell Only Updates After Scrolling
我的 UICollectionView 有问题,我的单元格总是启动 blank/in 没有数据的默认状态。
只有在将单元格滚动进出视图后,数据才会出现在单元格中。
代码:
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"EquipmentCell";
APInventoryCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
if (!cell) cell = [[APInventoryCollectionViewCell alloc] init];
//set cell data...
cell.label.text = [arrayOfStrings objectAtIndex:indexPath.row];
return cell;
}
您的问题是您可能在视图控制器的 viewDidLoad
方法中的某处设置了 arrayOfStrings
,问题在于 collectionview 数据源调用在此之前完成。
您应该在 viewDidLoad
方法中执行的操作只需调用 [collectionview reloadData];
就可以了
我的 UICollectionView 有问题,我的单元格总是启动 blank/in 没有数据的默认状态。
只有在将单元格滚动进出视图后,数据才会出现在单元格中。
代码:
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"EquipmentCell";
APInventoryCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
if (!cell) cell = [[APInventoryCollectionViewCell alloc] init];
//set cell data...
cell.label.text = [arrayOfStrings objectAtIndex:indexPath.row];
return cell;
}
您的问题是您可能在视图控制器的 viewDidLoad
方法中的某处设置了 arrayOfStrings
,问题在于 collectionview 数据源调用在此之前完成。
您应该在 viewDidLoad
方法中执行的操作只需调用 [collectionview reloadData];
就可以了