Ho un UICollectionViewController
che carico quando un utente gira il proprio iPad in modo da inserirlo nell'orientamento orizzontale. Il problema che sto avendo è che i miei UICollectionViewCell
si stanno ancora caricando come se fosse in verticale. Ho impostato lo UICollectionViewController
in orizzontale all'interno di Interface Builder e sto utilizzando una classe di celle personalizzata che ho chiamato CollectionViewCell
. Ogni cella contiene solo un'immagine e un'etichetta.iOS: come posso modificare l'orientamento di un UICollectionViewCell?
C'è qualcosa che dovrei fare sia in Interface Builder o nel mio codice? Ho provato a utilizzare CGAffineTransformationMakeRotation
, ma non è stato di aiuto. Se qualcun altro l'avesse già incontrato, sarei estremamente grato! Grazie mille!
Ecco un po 'di codice di riferimento:
-(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);
}
Sto utilizzando un UICollectionView personalizzato con altezze dinamiche in ogni cella. Ma quando ruoto, la mia cella non sta cambiando la larghezza tramite il metodo columnWidthForCollectionView e il numero di colonne tramite il metodo maximumNumberOfColumnsForCollectionView. Sto calcolando la larghezza della mia colonna in modo dinamico. via - (CGFloat) getCollumnWidth { CGFloat width = (self.view.frame.size.width- (kCollectionCellBorderRight * 3))/2; larghezza di ritorno; } Questo sta accadendo sia in iPhone che in iPad. – Xeieshan