title: contentOffset not updated on UICollectionView if scrollToItemAtIndexPath is called inside viewWillAppear
body: <p>I have a UICollectionView that is used to simulate the new calendar in iOS 7. This collection view is inside a controller that has a selectedDate property. Whenever the selectedDate property is set the collection view should scroll to the date in the collection view.</p>
  
  <p>The calendar controller's viewWillAppear also ensure the selected date is visible because this controller is cached and reused.</p>
  
  <pre><code>-(void)viewWillAppear:(BOOL)animated
  {
      [super viewWillAppear:animated];
  
      [self.calendarView scrollToDate:[self selectedDate] animated:NO];
  }
  </code></pre>
  
  <p>The problem is that the VERY first time the calendar controller is shown the scroll does not work. The contentOffset of the collection view is not updated.</p>
  
  <p>My current workaround is to schedule the scroll to occur on the next run loop using</p>
  
  <pre><code>dispatch_after(DISPATCH_TIME_NOW, dispatch_get_main_queue(), ^(void)
  {
          // Scroll to the date.
      });
  </code></pre>
  
  <p>It looks like when the UICollectionView is not in a window you cannot scroll. Scheduling the scroll to happen on the next run loop ensure that the view has been added to the window and can be properly scrolled.</p>
  
  <p>Has anyone else experienced this issue and what their workarounds?</p>