-1

私は自分のアプリで PSUICollectionView を使用しています。このアプリでは、画像のサムを持つギャラリーが水平スクロールビューで読み込まれます。他の 2 種類の写真を表示するには、さらに 2 つのコレクションビュー (ギャラリー) が必要です。

誰でも私を助けてもらえますか?? 前もって感謝します。

4

2 に答える 2

4

次のように、デリゲート メソッドとデータ ソース メソッドに数行のコードを追加することで、機能するようになりました。

    // setting tag
    
   [self.imageCollection setTag:1];
    
   [self.finishImageCollection setTag:2];
    
   [self.prevImageCollection setTag:3];
    

プラグママーク -

プラグマ マーク コレクション ビュー データ ソース

 - (NSString *)formatIndexPath:(NSIndexPath *)indexPath {
       return [NSString stringWithFormat:@"%ld", (long)indexPath.row+1];
   }

  // Populating cells 
  - (PSUICollectionViewCell *)collectionView:(PSUICollectionView *)collectionView        cellForItemAtIndexPath:(NSIndexPath *)indexPath {
   ImageGridCell *cell = [collectionView    dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
   if(collectionView.tag==1){
     cell.statusImage.image= [UIImage imageNamed:@"checked.png"];
     cell.imageThumb.image = [self.startImages objectAtIndex:indexPath.row];
   }

   if(collectionView.tag==2){
    cell.statusImage.image= [UIImage imageNamed:@"checked.png"];
    cell.imageThumb.image = [self.finishImages objectAtIndex:indexPath.row];
   }

   if(collectionView.tag==3){
    cell.statusImage.image= [UIImage imageNamed:@"checked.png"];
    cell.imageThumb.image = [self.prevImages objectAtIndex:indexPath.row];
   }
   return cell;
  }

   - (NSInteger)collectionView:(PSUICollectionView *)collectionView    numberOfItemsInSection:(NSInteger)section {
   int imgCount;
   if(collectionView.tag==1)
   {
    [self loadStartPictures];
    imgCount=self.startImages.count;
   }
   if(collectionView.tag==2)
   {
    [self loadFinishPictures];
    imgCount=[self.finishImages count];
   }
   if(collectionView.tag==3)
   {
    [self loadSupervisorPictures];
    imgCount=[self.prevImages count];
   }
   return imgCount;
  }


  #pragma mark -
  #pragma mark Collection View Delegate

  - (void)collectionView:(PSTCollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
  {
   self.allImages=[[NSMutableArray alloc]init];
   UIImage *imageAtIndexPath;
   NSLog(@"Delegate cell %@ : SELECTED", [self formatIndexPath:indexPath]);
   ImageGridCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
   cell.label.backgroundColor=[UIColor underPageBackgroundColor];

   if(collectionView.tag==1){
    imageAtIndexPath=[self.startImages objectAtIndex:indexPath.row];
    }
  if(collectionView.tag==2){
    imageAtIndexPath=[self.finishImages objectAtIndex:indexPath.row];
    }
  if(collectionView.tag==3){
    imageAtIndexPath=[self.supervisorImages objectAtIndex:indexPath.row];
    }
 }
于 2013-04-10T06:24:43.720 に答える