5

UICollectionViewController当用户转动他们的 iPad 以便将其置于横向时,我会加载一个。我遇到的问题是我UICollectionViewCell的 s 仍在加载,就好像它是纵向的一样。我UICollectionViewController在 Interface Builder 中将其设置为横向,并且我使用了一个名为CollectionViewCell. 每个单元格只包含一个图像和一个标签。

我应该在 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"];
    cell.name.text=@"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);

}
4

1 回答 1

4

如果其他人遇到这个问题,这就是我解决它的方法。

我最初不允许自动旋转,而只是orientationChanged使用NSNotificationCenter. 这很好用,只是它阻止了我的第二个视图意识到它需要以横向模式加载。

因此,我tabBar为嵌入主视图的类创建了一个类,并返回该类和所有其他视图中NO的方法,除了我想在横向模式下加载的视图。shouldAutoRotate我仍在使用orientationChanged主视图控制器中的通知,因为它嵌入在tabBar. 但我只是在返回主视图时使用自动旋转。

如果有人有任何问题,请告诉我。希望能帮助到你!

于 2012-10-10T17:34:42.857 回答