所以我在tableViewCell中有一个collectionView。

当tableViewCell位于我的情节提要中时,一切正常。

我决定将tableViewCell移到其自己的XIB,因为情节提要板滞后了。现在给出错误->

****由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法使视图出队
类型:具有标识符TagCellReview的UICollectionElementKindCell-
必须为该标识符注册一个笔尖或一个类,或者连接一个
情节提要中的原型单元格'****

在CellForRowAtIndexPathTableView->

       static NSString *CellIdentifier = @"FeedReviewCell";
       ReviewTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
            // Configure the cell...
            if (cell == nil) {
                NSArray *customCell = [[NSBundle mainBundle] loadNibNamed:@"ReviewTableViewCell" owner:self options:nil];
                cell = [customCell objectAtIndex:0];
                cell.backgroundColor=[UIColor clearColor];
                cell.selectionStyle = UITableViewCellSelectionStyleNone;
            }
        cell.tagsCollectionView.delegate = self;
        cell.tagsCollectionView.dataSource = self;

cellForItemAtIndexPath CollectionView->
        TagsCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"TagCellReview" forIndexPath:indexPath];
        cell.tagLabel.text = [reviewSection.serviceTags objectAtIndex:indexPath.row];
        return cell;

知道为什么会这样吗?可能的解决方案?

最佳答案

我认为,如果单元在Storyboard中,则需要为收集视图单元注册类;如果在xib中设计了单元,则需要为该收集视图单元注册nib。

//For Storyboard

    [cell.collectionView registerClass:[TagsCollectionViewCell class] forCellWithReuseIdentifier:@"TagsCollectionViewCell"];

// register nib for XIB
    [cell.collectionView registerNib:[UINib nibWithNibName:@"TagsCollectionViewCell" bundle:nil] forCellWithReuseIdentifier:@"TagsCollectionViewCell"];

关于ios - TableViewCell中的集合 View 作为XIB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37203906/

10-11 23:08