didSelectItemAtIndexPath内でカスタムセルを取得する
CollectionViewのCellをタップした時に、TwiterアプリのカメラロールのようにsubViewをCellに追加する、といった処理を実装しようとしています。
そう思い、このような処理を書いてみました。
- (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];
}
UICollectionViewCell`を継承したカスタムクラスを用意し、タップされた時にそのCellを取得。取得後、カスタムセルが持つsubViewを追加するメソッドを呼び出しています。
が、恐らくcellForItemAtIndexPath:
ではカスタムクラスのCellでの取得が出来ないので弾かれてしまいます…。
そこで質問なのですが、
cellForItemAtIndexPath:
でカスタムクラスのCellを取得することは出来ますか?- もっと効率的な実装方法はありますか?
ご回答、よろしくお願い致します。
補足
- StoryBoardは使っておりません。コードのみでの実装です。