У меня есть UICollectionViewController
, который я загружаю, когда пользователь превращает свой iPad так, чтобы поместить его в альбомную ориентацию. У меня проблема в том, что мои UICollectionViewCell
s по-прежнему загружаются, как если бы они были в портретной ориентации. Я установил UICollectionViewController
в ландшафт внутри Interface Builder, и я использую собственный класс ячеек, который я назвал CollectionViewCell
. Каждая ячейка содержит только изображение и метку.iOS: Как изменить ориентацию UICollectionViewCell?
Есть ли что-то, что я должен делать либо в Interface Builder, либо в моем коде? Я пробовал использовать CGAffineTransformationMakeRotation
, но это не помогло. Если кто-то еще столкнулся с этим раньше, я был бы чрезвычайно благодарен! Огромное спасибо!
Вот немного кода для справки:
-(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);
}
Я использую пользовательский UICollectionView с динамическими высотами в каждой ячейке. Но когда я вращаюсь, моя ячейка не меняет ширину с помощью метода columnWidthForCollectionView и количества столбцов с помощью метода maximumNumberOfColumnsForCollectionView. Я динамически вычисляю ширину столбца. через - (CGFloat) getCollumnWidth { CGFloat width = (self.view.frame.size.width- (kCollectionCellBorderRight * 3))/2; обратная ширина; } Это происходит как в iPhone, так и в iPad. – Xeieshan