1

這裏是集合視圖的代碼:細胞的集合視圖是不可見的

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    ... 
    [_teamsCollection registerClass:[MWTeamCollectionCell class] forCellWithReuseIdentifier:@"Cell"]; 

} 
#pragma mark data source and delegate methods of collection view 
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{ 
    return 1; 
} 

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ 
    return 10; 
} 
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ 
    static NSString *CellIdentifier = @"Cell"; 
    MWTeamCollectionCell *cell = [_teamsCollection dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath]; 
    if (cell == nil) { 
     cell = (MWTeamCollectionCell*)[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 
    cell.teamName.text = @"team name"; 
    return cell; 
} 

當我調試線return cell;,我得到適當的日誌,但我沒有看到細胞。

(gdb) po cell 
<MWTeamCollectionCell: 0x72aff80; baseClass = UICollectionViewCell; frame = (0 0; 50 50); layer = <CALayer: 0x72b0090>> 
(gdb) po cell 
<MWTeamCollectionCell: 0x72b08e0; baseClass = UICollectionViewCell; frame = (67.5 0; 50 50); layer = <CALayer: 0x72b0970>> 
(gdb) po cell 
<MWTeamCollectionCell: 0x8aad380; baseClass = UICollectionViewCell; frame = (135 0; 50 50); layer = <CALayer: 0x8a72d20>> 

回答

1

不需要像UITabeView登記類,試試這個:

[yourCollection registerClass:[MWTeamCollectionCell class] forCellWithReuseIdentifier:@"CellName"]; 

然後

- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    MWTeamCollectionCell *cell = [yourCollection dequeueReusableCellWithReuseIdentifier:@"CellName" forIndexPath:indexPath]; 
    //Setting some thing here 

    return cell; 

} 

這就夠了,記得MWTeamCollectionCell:UICollectionViewCell和定製在MWTeamCollectionCell(ID)初始化。 m(初始化您的teamName標籤)

和UICollectionView僅適用於iOS6,如果您嘗試使用iOS5,則不顯示

0

看起來你是在分配一個UITableViewCell而不是UICollectionViewCell。

此外,根據您如何實現自定義收集單元,確保筆尖已正確解碼(加載)。我建議首先使用UICollectionViewCell來驗證你的插座和標識符名稱在界面生成器中是否正確。

+0

我該如何做:在界面構建器中驗證您的插座和標識符名稱是否正確? – Luda

+0

你是對的:)我確實分配了UITableViewCell。 這是我的新代碼(它仍然無法正常工作:() - (UICollectionViewCell *)的CollectionView:(UICollectionView *)的CollectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { 靜態的NSString * CellIdentifier = @ 「細胞」; MWTeamCollectionCell * cell = [_teamsCollection dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath]; cell.teamName.text = @「team name」; return cell; } – Luda

0

更換此行

[yourCollection registerClass:[MWTeamCollectionCell class] forCellWithReuseIdentifier:@"CellName"]; 

下面的工作線

UINib *cellNib = [UINib nibWithNibName:@"MWTeamCollectionCell" bundle:nil];  
[self.collectionView registerNib:cellNib forCellWithReuseIdentifier:@"CellName"]; 

工作很適合我。