title: Getting frame from all (visible and invisibles) UICollectionViewCell
body: <p>I have an <code>UICollectionView</code> with 30 items of <code>UICollectionViewCell</code> inside. There are 8 cells which are currently visible to the screen, the rest are pretty much invisible. I'm able to get the frame value from all of those visible cells. </p>
  
  <p>My question is what should I do to get frame value from all cells, including the invisible one.</p>
  
  <p>This is my code.</p>
  
  <pre><code>// some code before
  
  for (int i = 0; i &lt; [collectionView numberOfItemsInSection:0]; i++) {
      cell = [collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForItem:i inSection:0]];
      if (!cell) {
          [collectionView performBatchUpdates:^{
              [collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:i inSection:0] atScrollPosition:UICollectionViewScrollPositionTop animated:NO];
              [collectionView reloadData];
          } completion:^(BOOL finished) {
              cell = [collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForItem:i inSection:0]];
              NSLog(@"- after batch update %d %@", i, NSStringFromCGRect(cell.frame));
          }];
      }
      NSLog(@"- %d %@", i, NSStringFromCGRect(cell.frame));
  }
  
  // another long code
  </code></pre>
  
  <p>The results was, I'm able to get right frame of first 8 cells. The next cells (the one which are invisible) have wrong frame. </p>
  
  <p>This is the log:</p>
  
  <pre><code>2013-07-08 16:38:57.904 My App[71245:c07] - 0 {{2, 2}, {217, 326}}
  2013-07-08 16:38:57.905 My App[71245:c07] - 1 {{231, 2}, {217, 326}}
  2013-07-08 16:38:57.906 My App[71245:c07] - 2 {{460, 2}, {217, 326}}
  2013-07-08 16:38:57.906 My App[71245:c07] - 3 {{689, 2}, {217, 315}}
  2013-07-08 16:38:57.907 My App[71245:c07] - 4 {{689, 340}, {217, 326}}
  2013-07-08 16:38:57.909 My App[71245:c07] - 5 {{2, 340}, {217, 329}}
  2013-07-08 16:38:57.909 My App[71245:c07] - 6 {{231, 340}, {217, 315}}
  2013-07-08 16:38:57.910 My App[71245:c07] - 7 {{460, 340}, {217, 286}}
  2013-07-08 16:38:57.910 My App[71245:c07] - 8 {{0, 0}, {0, 0}}
  2013-07-08 16:38:57.911 My App[71245:c07] - 9 {{0, 0}, {0, 0}}
  2013-07-08 16:38:57.911 My App[71245:c07] - 10 {{0, 0}, {0, 0}}
  2013-07-08 16:38:57.912 My App[71245:c07] - 11 {{0, 0}, {0, 0}}
  2013-07-08 16:38:57.912 My App[71245:c07] - 12 {{0, 0}, {0, 0}}
  2013-07-08 16:38:57.913 My App[71245:c07] - 13 {{0, 0}, {0, 0}}
  2013-07-08 16:38:57.913 My App[71245:c07] - 14 {{0, 0}, {0, 0}}
  2013-07-08 16:38:57.904 My App[71245:c07] - after batch update 8 {{689, 640}, {217, 326}}
  2013-07-08 16:38:57.905 My App[71245:c07] - after batch update 9 {{689, 640}, {217, 326}}
  2013-07-08 16:38:57.906 My App[71245:c07] - after batch update 10 {{2, 640}, {217, 326}}
  2013-07-08 16:38:57.906 My App[71245:c07] - after batch update 11 {{231, 640}, {217, 315}}
  2013-07-08 16:38:57.907 My App[71245:c07] - after batch update 12 {{460, 920}, {217, 326}}
  2013-07-08 16:38:57.909 My App[71245:c07] - after batch update 13 {{2, 920}, {217, 329}}
  2013-07-08 16:38:57.909 My App[71245:c07] - after batch update 14 {{231, 920}, {217, 315}}
  </code></pre>