2015-02-25 3 views
0

Привет, у меня есть UICollectionView. Я загружаю данные из NSMutableArray и имеет 4 объекта. Но моя проблема заключается в повторении того же самого ячеек.Как избежать повторяющихся ячеек UICollectionView?

`

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { 
return mutArrayArtists.count; 
} 



- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView { 
return 2; 
} 



- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ 
static NSString *identifier = @"Cell"; 

UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath]; 

artist = [mutArrayArtists objectAtIndex:indexPath.row]; 
UIImageView *recipeImageView = (UIImageView *)[cell viewWithTag:100]; 
recipeImageView.image = artist.artistImage; 

UILabel *lblArtistname=(UILabel *)[cell viewWithTag:102]; 
lblArtistname.text=artist.artistName; 

UILabel *lblSongCount=(UILabel *)[cell viewWithTag:101]; 
lblSongCount.text=artist.numberofSongs; 
return cell; 
} 

`

Но результат, как этот enter image description here

Как я могу избежать этого? Пожалуйста, помогите мне

Благодаря

+0

Он показывает количество как 4 – user2889249

+1

вы объявленную иметь две секции в вашем CollectionView, но в '' numberOfItemsInSection'and cellForItemAtIndexPath' вы не принимая во внимание раздел – tkanzakic

ответ

2
- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView { 
    return 1; //instead of 2 
} 

раздел здесь не означает, что число столбцов. Это означает, что вид коллекции будет содержать 2 секции по вертикали друг над другими

+1

о, спасибо, я думал, что он ссылается на две колонки. Вот почему я поставил там 2. Огромное спасибо. Еще 5 минут, чтобы принять ответ :) – user2889249

1

Это проблема:

- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView { 
    return 2; 
} 

У вас есть два раздела в целях сбора, и в поставщике клеток, не различает разделы. Измените его, чтобы сказать return 1; (при условии, что вам нужен только один раздел в коллекции) или обновите функцию cellForItemAtIndexPath (проверив indexPath.section), чтобы разделить разделы по мере надобности.

1

Это может быть полезным

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView 

    { 

     return 1; 
    }