web-dev-qa-db-ja.com

UICollectionViewは画面サイズに合わせてセルサイズを調整します

現在、3.5インチの画面サイズで画面の大部分を占めるコレクションビューがあります。コレクションビューは、画面の上部から51ピクセル、下部から20ピクセルです。 UIPageControlのセルを使用して、ページごとに1つのセルを持つページレイアウトを作成しています。 4インチサイズに切り替えると、制約を使用してコレクションビューを新しいスペースに拡張することができます(上部から51ピクセル、下部から20ピクセルを維持)が、セルサイズは同じままであるため、束がありますセルの上部と下部の空きスペース。制約を使用してみましたが、セルに設定できないようです。 iPhone 5の空きスペースを埋めるためにセルサイズを大きくするにはどうすればよいですか?

コレクションビューのコードは

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
              cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
MyCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
return cell;

}

レイアウトはIBに設定されています。レイアウトを追加する前に最初にレイアウトを機能させたい

iPhone 5 view. I want to fill the empty space

iPhone 4 view

33
benjih555

UICollectionViewFlowLayoutメソッドitemSizeプロパティを使用してUICollectionViewCellサイズを設定するか、delegateメソッド、collectionView:layout:sizeForItemAtIndexPath:UICollectionViewCellsのサイズを動的に設定する必要がある場合。

71
rdelmar
CollectionView layout Delegate that will help you to resize your Cell as you need.
- (CGSize)collectionView:(UICollectionView *)collectionView 
                          layout:(UICollectionViewLayout*)collectionViewLayout 
          sizeForItemAtIndexPath:(NSIndexPath *)indexPath;
7