サムネイルを表示するために使用しているコレクションビューがあります。写真アプリと同じように、4列にしたいです。
私はいくつかのサンプルコードを手に入れました(まだそれほど多くはありません)、そしてそれはそれがしている数学と私を混乱させています。
Webサービスから戻ってきたXMLからNSXMLParserを介して構築した配列(サム)をデータソースとして使用しています。
ただし、配列には「numberOfSections」も「numberOfItemsInSection」も含まれていないため(写真の名前と場所を含む単純な2D配列です)、4を処理するように調整するために必要な計算を決定するのに問題があります。
例:3行目/ 2列目である場合、そのインデックスは配列の9(ゼロベース)ですか?(2つの完全な行*1行あたり4+ 2(2番目の列)= 10)?..混乱しているため
また、現在のコードでは偶数枚の写真しか表示されないことに注意してください。したがって、特定のアルバムに3枚の写真がある場合、2枚だけが表示されます。
現在のコード:
`#pragma mark - UICollectionViewDataSource
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
// Return the number of sections.
return [thumbs count] / 2;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return 2;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
CustomCollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"PhotoCollCell" forIndexPath:indexPath];
//get current photo from collection
PhotoCollection *currentPhoto = [thumbs objectAtIndex:(indexPath.section*2 + indexPath.row)];
//Show in PhotoName Cell
cell.photoName.text = currentPhoto.PhotoName;
//show thumb via:SDWebImage
[cell.photoView setImageWithURL:[NSURL URLWithString:currentPhoto.PhotoThumbnailAbsoluteLocation] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
//regular (wasn't working by default)
//cell.photoView.image = [UIImage imageNamed:currentPhoto.PhotoThumbnailAbsoluteLocation];
return cell;
}`