

CollectionViewのCellをタップした時に、TwiterアプリのカメラロールのようにsubViewをCellに追加する、といった処理を実装しようとしています。  
そう思い、このような処理を書いてみました。

[code]

    - (CameraRollCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
        CameraRollCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellID forIndexPath:indexPath];
        return cell;
    }
    
    - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
        CameraRollCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
        [cell selectPhoto];
    }
    
[/code]

UICollectionViewCell`を継承したカスタムクラスを用意し、タップされた時にそのCellを取得。取得後、カスタムセルが持つsubViewを追加するメソッドを呼び出しています。

が、恐らく`cellForItemAtIndexPath:`ではカスタムクラスのCellでの取得が出来ないので弾かれてしまいます…。

そこで質問なのですが、

  1. `cellForItemAtIndexPath:`でカスタムクラスのCellを取得することは出来ますか？
  2. もっと効率的な実装方法はありますか？

ご回答、よろしくお願い致します。

補足  
\- StoryBoardは使っておりません。コードのみでの実装です。


CC BY-SA 3.0
2016-03-17T14:08:21.930
23230
2016-04-17T14:19:05.160
2016-03-18T05:22:07.680
8218
8218
question
ios objective-c uicollectionview uicollectionviewcell
didSelectItemAtIndexPath内でカスタムセルを取得する


`viewDidLoad`内に`[self.collectionView registerClass:[CameraRollCell class]
forCellWithReuseIdentifier:cameraRollCellID];`を追加したら無事動作しました。  
コメントをして下さった方、ありがとうございました。


CC BY-SA 3.0
2016-03-18T13:21:44.853
23261
2016-03-18T13:21:44.853
8218
23230
answer