UICollectionView适用于iOS8,但不适用于iOS7

时间:2014-10-02 12:24:02

标签: objective-c ios7 ios8 uicollectionview uicollectionviewlayout

在编译iOS7时,我在UICollectionView上面临一个奇怪的错误,它在iOS8上运行良好。

我在UICollectionViewCell中有一个UICollectionView,当我选择UICollectionViewCell时,我正在增加该单元格的大小,因此其中的UICollectionView也会增加它的大小。

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{

    if (collectionView == _collectionView){
        NSLog(@"MainCell");
        UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MenuCell" forIndexPath:indexPath];

        UICollectionView * categoriesCollection = (UICollectionView*)[cell viewWithTag:2];

        [categoriesCollection reloadData];
        return cell;
    }else{
        NSLog(@"InsideCell");
        UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CategoryCell" forIndexPath:indexPath];

        cell.backgroundColor = CUSTOMCOLOR_BLACKGROUND_CELL_CATEGORY;

        UILabel * cellLabel = (UILabel*)[cell viewWithTag:11];
        cellLabel.text = @"TEST";

        return cell;
    }
}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    if (collectionView == _collectionView){
        return 4;
    }else{
        return 12;
    }
}

在iOS8上观看。 https://www.dropbox.com/s/49xuy3ehhneuaki/Captura%20de%20pantalla%202014-10-02%2015.46.56.png

在iOS7上查看。它显示了12行的正确空间,但只显示了1行。子集合视图高度为30,但应为360. https://www.dropbox.com/s/oncfyc42v7zjpds/Captura%20de%20pantalla%202014-10-02%2015.49.16.png

使用iOS8 SDK或iOS7 SDK编译iOS8时,打印“InsideCell”12次,但是当我使用iOS7 iOS7 SDK时,它只打印“InsideCell”4次,总是排0。 这是Apple Bug吗? 感谢

1 个答案:

答案 0 :(得分:0)

似乎是iOS 8.0和Xcode 6的错误,所以在Xcode 6.1中它看起来在iOS7和iOS8都很好。 谢谢Apple ......