CollectionView with" half"仅在iOS8中的数据

时间:2014-11-17 13:28:16

标签: ios ios7 ios8 tableview collectionview

我有这个奇怪的问题,我的集合视图从plist文件加载数据,在iOS7上完全正常,但在iOS8中没有。

我的单元格只包含一个显示plist文件中特定项目的UILabel。它实际上只是一个字符串列表。如果我使用它,细胞反应正常并且一切都很好,它有效,期待一件事: 标签不会出现。如果我点击它我有数据,程序运行正常。 如果我再次向下浏览,则会使用正确的标签重新加载。

它实际上只是第一次没有显示标签的装载。

我尝试过重新加载数据按钮以确保尽可能晚地调用它,但无济于事。

有任何线索吗?

以下是一些代码:

集合视图方法

- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath{
    UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
    cell.layer.borderColor = ClearColor.CGColor;
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *cellIdentifier = @"TagCell";
    UICollectionViewCell *cell = [_cvTags dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];

    if (cell == nil) {
        cell = [[UICollectionViewCell alloc]init];
        [cell setRestorationIdentifier:cellIdentifier];
    }

    UILabel *lbT = (UILabel*)[cell viewWithTag:1];
    if (score == 1){
        lbT.text = [[tags objectForKey:PLIST_Plus]valueForKey:[NSString stringWithFormat:@"%i",indexPath.row]];
    }
    if (score == -1){
        lbT.text = [[tags objectForKey:PLIST_Minus]valueForKey:[NSString stringWithFormat:@"%i",indexPath.row]];
    }
    cell.contentView.backgroundColor = ClearColor;
    cell.layer.borderColor = ClearColor.CGColor;
    cell.layer.borderWidth = 3;
    cell.layer.cornerRadius = 20;
    return cell;
}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
    if (score == 1){
        return [[tags objectForKey:PLIST_Plus] count];
    }
    if (score == -1){
        return [[tags objectForKey:PLIST_Minus] count];
    }
    else{
        return 0;
    }
}

viewDidLoad中

tags = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"tags" ofType:@"plist"]];

plist文件

它只是一个带字典的XML文件。

注意:

在iOS7上它真的很好。 我对另一个视图的tableview有完全相同的问题。但最糟糕的是。我使用硬编码标签 INSIDE 使用cellForRow方法填充单元格,但在重复使用之前,它们仍然无法显示。

0 个答案:

没有答案