title: UICollectionView section header crashing iOS 8
body: <p>I have a UIView subclass that has a dynamically created UICollectionView.  Everything works fine in ios7 with displaying the headers just fine.</p>
  
  <p>iOS 8 doesn't call this method at all, and the app crashes.  </p>
  
  <pre><code>- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
  </code></pre>
  
  <p>If i comment out this method and I set to the header / footer size to 0, iOS 8 doesn't crash any more.</p>
  
  <p>Here is the code to create the collection view:</p>
  
  <pre><code>int spacing = 39;
  
  UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
  layout.itemSize = CGSizeMake(199, 60);
  if (IS_IOS8) layout.estimatedItemSize = CGSizeMake(199, 60);
  layout.scrollDirection = UICollectionViewScrollDirectionVertical;
  layout.minimumInteritemSpacing = 1;
  layout.minimumLineSpacing = 1;
  layout.sectionInset = UIEdgeInsetsMake(1,1,1,1);
  layout.headerReferenceSize = CGSizeMake(self.width - spacing*2, 50.0f);
  layout.footerReferenceSize = CGSizeZero;
  
  self.collectionView=[[UICollectionView alloc] initWithFrame:CGRectMake(spacing, 5, self.width - spacing*2, self.height - spacing*2) collectionViewLayout:layout];
  
  self.collectionView.dataSource = self;
  self.collectionView.delegate = self;
  
  [self.collectionView registerClass:[OCEListCell class] forCellWithReuseIdentifier:CellIdentifier];
  [self.collectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:HeaderCellIdentifier];
  [self.collectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:FooterCellIdentifier];
  self.collectionView.backgroundColor = [UIColor clearColor];
  
  
  [self addSubview:self.collectionView];
  </code></pre>
  
  <p>Data Source Methods:</p>
  
  <pre><code>- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
  {
      UICollectionReusableView * view = nil;
  
      NSLog(@"viewForSupplementaryElementOfKind");
      if ([kind isEqualToString:UICollectionElementKindSectionHeader] )
      {
          view = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:HeaderCellIdentifier forIndexPath:indexPath];
          view.backgroundColor = [UIColor clearColor];
  
          UILabel * lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 15, view.width, 40)];
          lbl.textColor = [UIColor defaultTextColor];
          lbl.font = [UIFont bookFontOfSize:25.0f];
          lbl.numberOfLines = 1;
          lbl.text = indexPath.section == 0 ? @"Section 1 Header" : @"Section 2 Header";
          [view addSubview:lbl];
      }
      else if ([kind isEqualToString:UICollectionElementKindSectionFooter])
      {
          view = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:FooterCellIdentifier forIndexPath:indexPath];
          view.backgroundColor = [UIColor clearColor];
      }
  
      NSLog(@"viewForSupplementaryElementOfKind:%@", view);
      return view;
  }
  
  
  
  -(CGSize) collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
  {
      CGSize size = CGSizeMake(collectionView.width, 50);
      NSLog(@"referenceSizeForHeaderInSection: %@", NSStringFromCGSize(size));
      return size;
  }
  
  
  -(CGSize) collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section
  {
      CGSize size = CGSizeZero;
      NSLog(@"referenceSizeForFooterInSection: %@", NSStringFromCGSize(size));
      return size;
  }
  </code></pre>