UICollectionViewCellをプログラム側から選択状態にする
[self.collectionview reloadData];
上記の命令でUICollectionViewをリロードした場合、 すでに選択されていたセルの選択状態が解除されてしまいます。
そこで、あらかじめ選択・未選択の属性を配列などに保存しておき、
-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ 【中略】 cell.selected = YES; 【中略】 }
と指定してしまうと その後、当該セルをタップしても反応しなくなるという問題が出てきます。
その場合は、以下のようにするとセルが反応してくれます。
cell.selected = YES; [self.collectionView selectItemAtIndexPath:indexPath animated:NO scrollPosition:UICollectionViewScrollPositionNone];