¿Hay alguna forma de hacer que una fila u encabezado de UICollectionView permanezca todavía aka paneles de congelación?

Me pregunto si hay una manera de hacer que una fila u encabezado de UICollectionView se mantenga similar a la function de paneles de congelación en un progtwig de spreadsheet.

Básicamente, quiero que la primera columna y la fila permanezcan quietos mientras que el rest es manejable.

¿Esto es posible con UICollectionView?

He encontrado que el siguiente código configurará la primera fila / sección como siempre visible y se desplazará con la sección / fila adecuada:

- (NSArray *) layoutAttributesForElementsInRect: (CGRect) rect { NSMutableArray *attributes = [NSMutableArray array]; for (NSInteger section = 0; section < self.collectionView.numberOfSections; section++) for (NSInteger item = 0 ; item < [self.collectionView numberOfItemsInSection: section]; item++) { UICollectionViewLayoutAttributes *layout = [self layoutAttributesForItemAtIndexPath:[NSIndexPath indexPathForItem:item inSection:section]]; if(section==0 || item==0) { UICollectionView * const cv = self.collectionView; CGPoint const contentOffset = cv.contentOffset; CGPoint origin = layout.frame.origin; if(item==0) { origin.x = contentOffset.x; layout.zIndex = 1022; } if(section==0) { origin.y = contentOffset.y; layout.zIndex = 1023; if(item==0)layout.zIndex = 1024; } layout.frame = (CGRect) { .origin = origin, .size = layout.frame.size }; } [attributes addObject:layout]; } return attributes; }