Tengo un UICollectionViewController
que cargo cuando un usuario enciende su iPad para ponerlo en orientación horizontal. El problema que estoy teniendo es que mis UICollectionViewCell
s todavía se están cargando como si estuviera en orientación vertical. Configuré el UICollectionViewController
en Landscape Builder, y estoy usando una clase de celda personalizada a la que he llamado CollectionViewCell
. Cada celda contiene solo una imagen y una etiqueta.iOS: ¿Cómo puedo cambiar la orientación de un UICollectionViewCell?
¿Hay algo que deba hacer en Interface Builder o en mi código? Intenté usar CGAffineTransformationMakeRotation
, pero eso no fue de ayuda. Si alguien más se ha encontrado con esto antes, ¡estaría extremadamente agradecido! ¡Muchas gracias!
Aquí hay un bit del código de referencia:
-(void)viewDidLoad
{
self.collectionView.dataSource = self;
self.collectionView.delegate = self;
}
- (NSInteger)collectionView:(UICollectionView *)view numberOfItemsInSection:(NSInteger)section
{
return listArray.count;
}
- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView
{
return 1;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"devices" forIndexPath:indexPath];
cell.statusImage.image=[UIImage imageNamed:@"Default.png"];
[email protected]"HEY !!!!!";
return cell;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return CGSizeMake(320, 420);
}
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return UIEdgeInsetsMake(50, 20, 50, 20);
}
Estoy usando un UICollectionView personalizado con alturas dinámicas en cada celda. Pero cuando giro, mi celda no cambia de ancho a través del método columnWidthForCollectionView y el número de columnas a través del método maximumNumberOfColumnsForCollectionView. Calculo el ancho de mi columna dinámicamente. vía - (CGFloat) getCollumnWidth { CGFloat width = (self.view.frame.size.width- (kCollectionCellBorderRight * 3))/2; ancho de retorno; } Esto está sucediendo tanto en iPhone como en iPad. – Xeieshan