UICollectionView仅显示2组数据

时间:2012-12-04 20:38:13

标签: ios uicollectionview uicollectionviewcell

我将UICollectionView嵌入到另一个UICollectionView(作为一种表格)中。第一个集合视图工作正常 - 我得到正确数量的单元格及其中的正确信息。第二个然而我只得到显示的前两组数据。以下是外部集合视图的cellForItemAtIndexPath的代码:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Main Tide Data Table Cell";

    TideDataTableCell* tideDayDataCell = [self.tideDataTable dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
    tidalDate* tideDate = self.tidalDates[indexPath.row];
    tideDayDataCell.tides = nil;
    tideDayDataCell.tides = [[NSMutableArray alloc] initWithCapacity:0];
    tideDayDataCell.tideDataTable.delegate = tideDayDataCell;
    tideDayDataCell.tideDataTable.dataSource = tideDayDataCell;
    self.tideDataTable.backgroundColor = [UIColor lightGrayColor];
    tideDayDataCell.tides = tideDate.tides;
    tideDayDataCell.backgroundColor = [UIColor whiteColor];
    tideDayDataCell.dayLabel.text = tideDate.dateString;
    tideDayDataCell.averageTideHeight = self.avgTideHeight;
    return tideDayDataCell;
}

这里是内部集合视图的cellForItemAtIndexPath无法正常工作 - 重复前两组数据......

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    NSString* CellIdentifier = @"Tide Info Table Cell";

    TidalTideTableCell* tidalTideTableCell = [self.tideDataTable dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
    tidalTideTableCell.timeTideLabel.text = @"";
    tidalTideTableCell.heightTideLabel.text = @"";
    tidalTideTableCell.hwlwTideLabel.text = @"";
    self.tideDataTable.backgroundColor = [UIColor clearColor];
    Tide* tide = self.tides[indexPath.row];
    tidalTideTableCell.heightTideLabel.text = [[NSNumber numberWithDouble:tide.height] stringValue];
    if (tide.height > self.averageTideHeight)
    {
        tidalTideTableCell.hwlwTideLabel.text = @"HW";
    }
    else
    {
        tidalTideTableCell.hwlwTideLabel.text = @"LW";
    }
    tidalTideTableCell.timeTideLabel.text = tide.date;
    tidalTideTableCell.backgroundColor = [UIColor clearColor];
    return tidalTideTableCell;
}

正如您所希望看到的那样 - 每次调用时都会保存包含信息(tides)的数组,并且我已经检查过所输入的数据是否正确。 我将不胜感激任何帮助...

1 个答案:

答案 0 :(得分:0)

问题是因为您发送错误数量的部分/行。我希望你在此期间解决了你的问题。