After calling -[UICollectionView reloadData] it takes some time for cells to be displayed, so selecting an item immediately after calling reloadData do
-[UICollectionView reloadData]
reloadData
create a method that does the selection and call it using performSelector after calling reload e.g;
[self performSelector:@selector(selectIt) withObject:self afterDelay:0.1];