title: Selection of UICollectionView
body: <p>I am following a tutorial and making a overflow <code>UICollectionView</code>. Now furthermore, i would like to have a selection on the items then an appearance of a new <code>UIViewController</code>. </p>
  
  <p>May i know how can this be done? 
  Can i do it like <code>UITable</code> choosing the select index = 0, 1, or 2 etc?
  The code showed correct <code>NSLog</code> but not going to other <code>UIViewController</code></p>
  
  <pre><code> - (void)tapCell:(UITapGestureRecognizer *)inGestureRecognizer
  {
      NSIndexPath *theIndexPath = [self.collectionView indexPathForCell:(UICollectionViewCell *)inGestureRecognizer.view];
  
      if (theIndexPath.row ==0) {
          NSLog(@"****");
          page *noteDetailViewControler = [[page alloc] initWithNibName:@"page" bundle:nil];    }
  }
  </code></pre>
  
  <p>Here is the full code:</p>
  
  <pre><code>@implementation CDemoCollectionViewController
  
  - (void)viewDidLoad
  {
      [super viewDidLoad];
  
      self.cellCount = 10;
      self.imageCache = [[NSCache alloc] init];
  
      [self.collectionView registerNib:[UINib nibWithNibName:NSStringFromClass([CCoverflowTitleView class]) bundle:NULL] forSupplementaryViewOfKind:@"title" withReuseIdentifier:@"title"];
  
      NSMutableArray *theAssets = [NSMutableArray array];
      NSURL *theURL = [[[NSBundle mainBundle] resourceURL] URLByAppendingPathComponent:@"Images"];
      NSEnumerator *theEnumerator = [[NSFileManager defaultManager] enumeratorAtURL:theURL includingPropertiesForKeys:NULL options:NSDirectoryEnumerationSkipsPackageDescendants | NSDirectoryEnumerationSkipsHiddenFiles errorHandler:NULL];
      for (theURL in theEnumerator)
      {
          if ([[theURL pathExtension] isEqualToString:@"jpg"])
          {
              [theAssets addObject:theURL];
          }
      }
      self.assets = theAssets;
      self.cellCount = self.assets.count;
  }
  
  #pragma mark -
  
  - (void)updateTitle
  {
      // Asking a collection view for indexPathForItem inside a scrollViewDidScroll: callback seems unreliable.
      //  NSIndexPath *theIndexPath = [self.collectionView indexPathForItemAtPoint:(CGPoint){ CGRectGetMidX(self.collectionView.frame) + self.collectionView.contentOffset.x, CGRectGetMidY(self.collectionView.frame) }];
      NSIndexPath *theIndexPath = ((CCoverflowCollectionViewLayout *)self.collectionView.collectionViewLayout).currentIndexPath;
      if (theIndexPath == NULL)
      {
          self.titleView.titleLabel.text = NULL;
      }
      else
      {
          NSURL *theURL = [self.assets objectAtIndex:theIndexPath.row];
  
          self.titleView.titleLabel.text = [NSString stringWithFormat:@"%@", theURL.lastPathComponent];
      }
  }
  
  #pragma mark -
  
  - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section;
  {
      return(self.cellCount);
  }
  
  - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath;
  {
      CDemoCollectionViewCell *theCell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"DEMO_CELL" forIndexPath:indexPath];
  
      if (theCell.gestureRecognizers.count == 0)
      {
          [theCell addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapCell:)]];
      }
  
      theCell.backgroundColor = [UIColor colorWithHue:(float)indexPath.row / (float)self.cellCount saturation:0.333 brightness:1.0 alpha:1.0];
  
      if (indexPath.row &lt; self.assets.count)
      {
          NSURL *theURL = [self.assets objectAtIndex:indexPath.row];
          UIImage *theImage = [self.imageCache objectForKey:theURL];
          if (theImage == NULL)
          {
              theImage = [UIImage imageWithContentsOfFile:theURL.path];
  
              [self.imageCache setObject:theImage forKey:theURL];
          }
  
          theCell.imageView.image = theImage;
          theCell.reflectionImageView.image = theImage;
          theCell.backgroundColor = [UIColor clearColor];
      }
  
      return(theCell);
  }
  
  - (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
  {
      CCoverflowTitleView *theView = [self.collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:@"title" forIndexPath:indexPath];
      self.titleView = theView;
      [self updateTitle];
      return(theView);
  }
  
  - (void)scrollViewDidScroll:(UIScrollView *)scrollView
  {
      [self updateTitle];
  }
  
  #pragma mark -
  
  - (void)tapCell:(UITapGestureRecognizer *)inGestureRecognizer
  {
      NSIndexPath *theIndexPath = [self.collectionView indexPathForCell:(UICollectionViewCell *)inGestureRecognizer.view];
  
      if (theIndexPath.row ==0) {
          NSLog(@"****");
          page *noteDetailViewControler = [[page alloc] initWithNibName:@"page" bundle:nil];    }
  }
  
  
  @end
  </code></pre>