This is the way i am working on header.

  //    viewDidLoad

  [self.collectionView registerClass:[UICollectionViewCell class]forCellWithReuseIdentifier:@"Cell"];

[self.collectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"header"];

UICollectionViewFlowLayout *layout= [[UICollectionViewFlowLayout alloc]init];

self.collectionView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, 390, 300) collectionViewLayout:layout];
layout.collectionView.backgroundColor = [UIColor colorWithRed:230.0/255.0 green:230.0/255.0 blue:230.0/255.0 alpha:1.0];
[self.collectionView registerClass:[UICollectionViewCell class]
        forCellWithReuseIdentifier:@"Cell"];
self.collectionView.delegate=self;
self.collectionView.dataSource=self;
layout.minimumInteritemSpacing = 15;

[layout setScrollDirection:UICollectionViewScrollDirectionVertical];

self.collectionView.collectionViewLayout = layout;
self.collectionView.showsHorizontalScrollIndicator = NO;
self.collectionView.showsVerticalScrollIndicator = NO;
[self.collectionView setBounces:YES];
self.collectionView.allowsMultipleSelection = YES;
[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"HorizontalPickerCell"];
[self.view addSubview:self.collectionView];

   - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
  {
  if (section == 0) {
    return CGSizeMake(0, kHeaderHeight);
  }
  return CGSizeMake(0, kHeaderHeight + kInterSectionMargin);
  }

  - (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView
  {
NSLog(@"levels count:%d", [arrLevels count]);
return [arrLevels count];
  }

  - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
 {
 NSLog(@"vals count:%d", [arrSeats count]);
 for(int
Edit
Report