Mam UICollectionViewController
, który ładuję, gdy użytkownik obraca iPada, aby ustawić go w orientacji poziomej. Problem polega na tym, że moje UICollectionViewCell
s wciąż ładują się tak, jakby były w orientacji pionowej. Ustawiłem UICollectionViewController
na pejzaż wewnątrz Konstruktora interfejsów i używam niestandardowej klasy komórki, którą nazwałem CollectionViewCell
. Każda komórka zawiera tylko obraz i etykietę.iOS: Jak zmienić orientację UICollectionViewCell?
Czy jest coś, co powinienem robić w Konstruktorze interfejsów lub w moim kodzie? Próbowałem użyć CGAffineTransformationMakeRotation
, ale to nie pomogło. Jeśli ktokolwiek inny napotkałby to wcześniej, byłbym niezmiernie wdzięczny! Dziękuję bardzo!
Oto kawałek kodu dla odniesienia:
-(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);
}
Używam niestandardowego UICollectionView z dynamicznymi wysokościami w każdej komórce. Ale gdy się obracam, moja komórka nie zmienia szerokości za pomocą metody columnWidthForCollectionView i liczby kolumn metodą maximumNumberOfColumnsForCollectionView. Liczę dynamicznie moją kolumnę. przez - (CGFloat) getCollumnWidth { CGFloat width = (self.view.frame.size.width- (kCollectionCellBorderRight * 3))/2; szerokość powrotu; } To dzieje się zarówno na iPhonie, jak i iPadzie. – Xeieshan