2014-02-19 61 views

回答

2

可以註冊類或筆尖是這樣的:

[collectionView registerNib:<#(UINib *)#> forCellWithReuseIdentifier:<#(NSString *)#>]; 
    [collectionView registerClass:<#(__unsafe_unretained Class)#> forCellWithReuseIdentifier:<#(NSString *)#>]; 

確保您使用相同的reuseIdentifier在上面的代碼,在這裏

- (id)dequeueReusableCellWithReuseIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath*)indexPath; 

它應該是相同的不爲零的字符串。最好的方法是在某個地方宣佈它。例如這樣

static NSString * reuseIdentifier = @"CellReuseIdentifier"; 
+0

是的,我已經這樣做了,但仍然得到錯誤。這讓我瘋狂。 –

+0

你檢查過重複標識符嗎?看到我更新的答案。 – Avt

+0

是的,我設法解決了這個問題。這是非常愚蠢的,我甚至不會告訴你它是什麼,但非常感謝你的幫助! –

0

重要:必須調用此方法之前註冊使用registerClass:forSupplementaryViewOfKind:withReuseIdentifier:registerNib:forSupplementaryViewOfKind:withReuseIdentifier:方法的類或筆尖文件。您還可以使用registerClass:forDecorationViewOfKind:registerNib:forDecorationViewOfKind:方法將一組默認補充視圖與佈局對象一起註冊。

apple doc

UICollectionViewFlowLayout *layoutDesign= [[UICollectionViewFlowLayout alloc]init]; 
    self.yourCollectionView = [[UICollectionView alloc]initWithFrame:self.view.bounds collectionViewLayout:layout]; 
    [self.view addSubView:self.collectionView]; 
    [self.yourCollectionView registerClass:[UICollectionViewCell class] 
      forCellWithReuseIdentifier:@"YourCellIdentifier"]; 
    self.yourCollectionView.delegate=self; 
    self.yourCollectionView.dataSource=self; 
+0

我正在做所有這些,註冊筆尖,類,添加布局,添加委託和數據源。 –

相關問題