2017-04-27 30 views
0

我想用CollectionView做一個應用程序,但我面臨一個問題。從我的代碼中可以看到,我在numberofSectionsINCollectionView和numberOfItemsInsection中都收到了回調,但無法接收cellForItemAtIndexPath中的回調,這使得單元格不在CollectionView中顯示。但是,使用另一臺具有相同Xcode版本並連接到相同iPhone(6 Plus)的計算機時,我可以在cellForItemAtIndexPath中接收回調。我無法收到回調cellForItemAtIndexPath(目標C)

我不知道爲什麼。你能告訴我如何解決這個問題嗎?我認爲這是歸功於Xcode中的設置,但我不確定。

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView { 
if (self.useSection) { 
    return self.dataSource.count; 
} 
return 1;} 


- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { 
if (self.useSection) 
    return [[self.dataSource objectAtIndex:section] count]; 
return self.dataSource.count; } 


- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
UICollectionViewCell *cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:[self reuseIdentifierForIndexPath:indexPath] forIndexPath:indexPath]; 
return cell; 
} 

如果委託設置像

self.collectionView.delegate = self; 
self.collectionView.dataSource = self; 
+1

1.確保您返回該部分中非零數量的部分和非零數量的項目。 2.確保您的收藏視圖正確佈置。如果它的大小爲0,0,那麼集合視圖實際上不會嘗試加載單元格。 – AdamPro13

+0

你檢查了**返回結果[[self.dataSource objectAtIndex:section] count]; **。 –

回答

0

cellForItemAtIndexPath如果你的單元尺寸爲(0,0)不會被調用或計數爲0,也許你可以嘗試添加該代碼,我雙重檢查:

- (CGSize)collectionView:(UICollectionView *)collectionView layout: 
(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath: 
(NSIndexPath *)indexPath{ return CGSizeMake(100,100);}